X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fctcphandler.cpp;h=849308808b28ebb24d815792f4ae9affe01d3f0e;hp=e6b534433733ae5509f2151bd923ed6ea10b3c6e;hb=ff512ebd30643381e01950aafaebdbde2c512143;hpb=87f95344178f652061d2c27ad6eda60d738a2041 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)); }