fixed bug in ctcp parser
authorMarcus Eggenberger <egs@quassel-irc.org>
Mon, 18 Feb 2008 23:47:15 +0000 (23:47 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Mon, 18 Feb 2008 23:47:15 +0000 (23:47 +0000)
src/core/ctcphandler.cpp

index e6b5344..8493088 100644 (file)
@@ -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));
   }