summaryrefslogtreecommitdiff
path: root/src/core/cs_kick.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/cs_kick.c')
-rw-r--r--src/core/cs_kick.c24
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