summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;