summaryrefslogtreecommitdiff
path: root/src/messages.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-11-06 10:42:29 -0500
committerAdam <Adam@anope.org>2012-11-06 11:02:12 -0500
commit72eb2ccf50148c7028942155fd253d86f6669dda (patch)
tree8c549c34b26317fbd7f912ea034c5606375fa7eb /src/messages.cpp
parent4cfd4688636ff9ba033f2578b673c1ddf3aaf96f (diff)
Sometimes capab is sent as one parameter
Diffstat (limited to 'src/messages.cpp')
-rw-r--r--src/messages.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/messages.cpp b/src/messages.cpp
index a6afe2705..774816e44 100644
--- a/src/messages.cpp
+++ b/src/messages.cpp
@@ -29,8 +29,16 @@ bool CoreIRCDMessageAway::Run(MessageSource &source, const std::vector<Anope::st
bool CoreIRCDMessageCapab::Run(MessageSource &source, const std::vector<Anope::string> &params)
{
- for (unsigned i = 0; i < params.size(); ++i)
- Capab.insert(params[i]);
+ if (params.size() == 1)
+ {
+ spacesepstream sep(params[0]);
+ Anope::string token;
+ while (sep.GetToken(token))
+ Capab.insert(token);
+ }
+ else
+ for (unsigned i = 0; i < params.size(); ++i)
+ Capab.insert(params[i]);
return true;
}