summaryrefslogtreecommitdiff
path: root/src/protocol.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-10-24 13:19:51 -0400
committerAdam <Adam@anope.org>2011-10-24 13:19:51 -0400
commitccf29c013465ba4b9709c04ba4452f4454b1ebdc (patch)
treeca62867a6640ef2f572337d611c0f3b3aef3387b /src/protocol.cpp
parentd0513d6506ce34b57874ad265daf38ca67878aa0 (diff)
Fixed the capab parser to parse capab tokens prefixed with :. Fixes not detecting quitstorm support on ratbox
Diffstat (limited to 'src/protocol.cpp')
-rw-r--r--src/protocol.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/protocol.cpp b/src/protocol.cpp
index 64932632e..2bbad4adb 100644
--- a/src/protocol.cpp
+++ b/src/protocol.cpp
@@ -515,15 +515,19 @@ bool IRCdMessage::OnCapab(const Anope::string &, const std::vector<Anope::string
{
for (unsigned i = 0; i < params.size(); ++i)
{
- for (unsigned j = 0; !Capab_Info[j].Token.empty(); ++j)
- {
- if (Capab_Info[j].Token.equals_ci(params[i]))
+ spacesepstream sep(params[i]);
+ Anope::string token;
+
+ while (sep.GetToken(token))
+ for (unsigned j = 0; !Capab_Info[j].Token.empty(); ++j)
{
- Capab.SetFlag(Capab_Info[j].Flag);
- Log(LOG_DEBUG) << "Capab: Enabling " << Capab_Info[j].Token;
- break;
+ if (Capab_Info[j].Token.equals_ci(token))
+ {
+ Capab.SetFlag(Capab_Info[j].Flag);
+ Log(LOG_DEBUG) << "Capab: Enabling " << Capab_Info[j].Token;
+ break;
+ }
}
- }
}
return true;