summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
authorattilamolnar <attilamolnar@hush.com>2012-12-01 21:33:42 +0100
committerattilamolnar <attilamolnar@hush.com>2012-12-15 21:17:06 +0100
commitd00914ed6f5de67ab69c69e1cd1efa0797b5f62d (patch)
treed0102cfb6ced04e2eac3d291297a2529fa848383 /src/modules/m_spanningtree
parentab65f7902f9e4aeda68e9797f1904f02d1f9fc35 (diff)
Add a flag to Command that controls whether an empty last parameter is allowed or not
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r--src/modules/m_spanningtree/treesocket2.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp
index e93dece5f..9c3fe9c36 100644
--- a/src/modules/m_spanningtree/treesocket2.cpp
+++ b/src/modules/m_spanningtree/treesocket2.cpp
@@ -458,6 +458,14 @@ void TreeSocket::ProcessConnectedLine(std::string& prefix, std::string& command,
return;
}
+ if ((!params.empty()) && (params.back().empty()) && (!cmd->allow_empty_last_param))
+ {
+ // the last param is empty and the command handler doesn't allow that, check if there will be enough params if we drop the last
+ if (params.size()-1 < cmd->min_params)
+ return;
+ params.pop_back();
+ }
+
CmdResult res = cmd->Handle(params, who);
if (res == CMD_INVALID)