summaryrefslogtreecommitdiff
path: root/src/channels.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/channels.cpp')
-rw-r--r--src/channels.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/channels.cpp b/src/channels.cpp
index 2ea8688cf..53a48c469 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -136,10 +136,18 @@ void Channel::SetDefaultModes()
continue;
if (mode->GetNumParams(true))
+ {
list.GetToken(parameter);
+ // If the parameter begins with a ':' then it's invalid
+ if (parameter.c_str()[0] == ':')
+ continue;
+ }
else
parameter.clear();
+ if ((mode->GetNumParams(true)) && (parameter.empty()))
+ continue;
+
mode->OnModeChange(ServerInstance->FakeClient, ServerInstance->FakeClient, this, parameter, true);
}
}