summaryrefslogtreecommitdiff
path: root/src/core/cs_kick.c
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-02-12 00:00:50 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-02-12 00:00:50 +0000
commit58b0279f7f2eda9154373af0a7d4b0cb73b1baf8 (patch)
treea5f69976639c3c7bfc24d282259c258c8ffa7cac /src/core/cs_kick.c
parenta512f7cdd7e5f9d2e408b77cc41b526a604d60f8 (diff)
Audit cs_kick, cs_list, cs_logout, cs_modes.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2020 5417fbe8-f217-4b02-8779-1006273d7864
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