X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.cpp;h=85995247150eea99f12f7225e6fde60cd386453e;hp=ebfb007a2fef1d37d07cc1685410c6cc447bf401;hb=32023e27e875eede980d7323c1d05b5d4cc795d8;hpb=bd6311ec1d07e4daf082b5f752ef6b46d7808430 diff --git a/src/core/coresessioneventprocessor.cpp b/src/core/coresessioneventprocessor.cpp index ebfb007a..85995247 100644 --- a/src/core/coresessioneventprocessor.cpp +++ b/src/core/coresessioneventprocessor.cpp @@ -31,6 +31,20 @@ CoreSessionEventProcessor::CoreSessionEventProcessor(CoreSession *session) } +bool CoreSessionEventProcessor::checkParamCount(IrcEvent *e, int minParams) { + if(e->params().count() < minParams) { + if(e->type() == EventManager::IrcEventNumeric) { + qWarning() << "Command " << static_cast(e)->number() << " requires " << minParams << "params, got: " << e->params(); + } else { + QString name = coreSession()->eventManager()->enumName(e->type()); + qWarning() << qPrintable(name) << "requires" << minParams << "params, got:" << e->params(); + } + e->stop(); + return false; + } + return true; +} + void CoreSessionEventProcessor::processIrcEventNumeric(IrcEventNumeric *e) { switch(e->number()) {