From: Marcus Eggenberger Date: Mon, 18 Feb 2008 23:47:15 +0000 (+0000) Subject: fixed bug in ctcp parser X-Git-Tag: 0.2.0-alpha1~33 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=ff512ebd30643381e01950aafaebdbde2c512143 fixed bug in ctcp parser --- diff --git a/src/core/ctcphandler.cpp b/src/core/ctcphandler.cpp index e6b53443..84930880 100644 --- a/src/core/ctcphandler.cpp +++ b/src/core/ctcphandler.cpp @@ -110,12 +110,20 @@ void CtcpHandler::parse(Message::Type messageType, const QString &prefix, const ctcp = xdelimDequote(dequotedMessage.mid(xdelimPos + 1, xdelimEndPos - xdelimPos - 1)); dequotedMessage = dequotedMessage.mid(xdelimEndPos + 1); - + //dispatch the ctcp command - spacePos = ctcp.indexOf(' '); QString ctcpcmd = userDecode(target, ctcp.left(spacePos)); QString ctcpparam = userDecode(target, ctcp.mid(spacePos + 1)); + spacePos = ctcp.indexOf(' '); + if(spacePos != -1) { + ctcpcmd = userDecode(target, ctcp.left(spacePos)); + ctcpparam = userDecode(target, ctcp.mid(spacePos + 1)); + } else { + ctcpcmd = userDecode(target, ctcp); + ctcpparam = QString(); + } + handle(ctcpcmd, Q_ARG(CtcpType, ctcptype), Q_ARG(QString, prefix), Q_ARG(QString, target), Q_ARG(QString, ctcpparam)); }