From 04c24f257803421e5b568dec4607006c63c0586a Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Fri, 11 Jul 2008 16:31:02 +0200 Subject: [PATCH 1/1] Fixing BR #216 (failing prefix detection) --- src/core/ircserverhandler.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/core/ircserverhandler.cpp b/src/core/ircserverhandler.cpp index 9bdb3c67..d5ff3334 100644 --- a/src/core/ircserverhandler.cpp +++ b/src/core/ircserverhandler.cpp @@ -432,14 +432,16 @@ void IrcServerHandler::handle001(const QString &prefix, const QList void IrcServerHandler::handle005(const QString &prefix, const QList ¶ms) { Q_UNUSED(prefix); const int numParams = params.size(); - if(numParams < 1) { - qWarning() << "IrcServerHandler::handle005(): received RPL_ISUPPORT (005) with too few parameters:" << serverDecode(params); + if(numParams == 0) { + emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", tr("Received RPL_ISUPPORT (005) without parameters!"), prefix); + return; } + emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", serverDecode(params).join(" "), prefix); + QString rpl_isupport_suffix = serverDecode(params.last()); - if(!rpl_isupport_suffix.toLower().contains("supported")) { - qWarning() << "Received invalid RPL_ISUPPORT! Suffix is:" << rpl_isupport_suffix << "Excpected: are supported by this server"; - return; + if(!rpl_isupport_suffix.toLower().contains("are supported by this server")) { + emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", tr("Received non RFC compliant RPL_ISUPPORT: this can lead to unexpected behavior!"), prefix); } QString rawSupport; -- 2.20.1