diff options
Diffstat (limited to 'src/commands.c')
-rw-r--r-- | src/commands.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/commands.c b/src/commands.c index fc66334c4..5dd24bb1d 100644 --- a/src/commands.c +++ b/src/commands.c @@ -84,14 +84,26 @@ void mod_run_cmd(char *service, User * u, CommandHash * cmdTable[], const char * char *s = NULL; while ((s = strtok(NULL, " "))) { - if (params.size() < c->MaxParams) - params.push_back(s); - else + // - 1 because params[0] corresponds with a maxparam of 1. + if (params.size() >= (c->MaxParams - 1)) + { curparam += s; + curparam += " "; + } + else + { + params.push_back(s); + } } if (!curparam.empty()) + { + // Remove trailing space + curparam.erase(curparam.size() - 1, curparam.size()); + + // Add it params.push_back(curparam); + } if (params.size() < c->MinParams) { |