diff options
Diffstat (limited to 'src/core/cs_kick.c')
-rw-r--r-- | src/core/cs_kick.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/core/cs_kick.c b/src/core/cs_kick.c index 9ba68cdcb..f2895d1aa 100644 --- a/src/core/cs_kick.c +++ b/src/core/cs_kick.c @@ -27,7 +27,7 @@ void myChanServHelp(User * u) class CommandCSKick : public Command { public: - CommandCSKick() : Command("KICK", 1, 3) + CommandCSKick() : Command("KICK", 2, 3) { } @@ -36,8 +36,14 @@ class CommandCSKick : public Command { const char *chan = params[0].c_str(); const char *target = params[1].c_str(); - params[2].resize(200); - const char *reason = params[2].c_str(); + const char *reason = NULL; + + if (params.size() > 2) + { + params[2].resize(200); + reason = params[2].c_str(); + } + Channel *c; ChannelInfo *ci; User *u2; @@ -48,10 +54,6 @@ class CommandCSKick : public Command reason = "Requested"; } - if (!target) { - target = u->nick; - } - is_same = (target == u->nick) ? 1 : (stricmp(target, u->nick) == 0); if (!(c = findchan(chan))) { @@ -92,9 +94,15 @@ class CommandCSKick : public Command bool OnHelp(User *u, const std::string &subcommand) { - notice_lang(s_ChanServ, u, CHAN_HELP_KICK); + notice_lang(s_ChanServ, u, CHAN_HELP_KICK); return true; } + + void OnSyntaxError(User *u) + { + // XXX: best I can do for now, fixme + notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, ""); + } }; class CSKick : public Module |