aboutsummaryrefslogtreecommitdiffstats
path: root/src/cmd_zline.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-09-06 17:21:59 +0000
committerGravatar brain2006-09-06 17:21:59 +0000
commit4cf0ae1308fe98757de42ffbe391e61844ac9e0a (patch)
tree76cf38a7afd4d31b6345561442bdee4692c5a847 /src/cmd_zline.cpp
parentJOIN now has a TS parameter on it. The client protocol will ignore this when ... (diff)
Command result codes. This isnt finished yet, still got to do most of the modules, and alter CallCommandHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5149 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/cmd_zline.cpp')
-rw-r--r--src/cmd_zline.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cmd_zline.cpp b/src/cmd_zline.cpp
index 183fec5d5..9b24489b8 100644
--- a/src/cmd_zline.cpp
+++ b/src/cmd_zline.cpp
@@ -28,17 +28,19 @@ extern "C" command_t* init_command(InspIRCd* Instance)
return new cmd_zline(Instance);
}
-void cmd_zline::Handle (const char** parameters, int pcnt, userrec *user)
+CmdResult cmd_zline::Handle (const char** parameters, int pcnt, userrec *user)
{
if (pcnt >= 3)
{
if (strchr(parameters[0],'@'))
{
user->WriteServ("NOTICE %s :*** You cannot include a username in a zline, a zline must ban only an IP mask",user->nick);
- return;
+ return CMD_FAILURE;
}
+
if (ServerInstance->IPMatchesEveryone(parameters[0],user))
- return;
+ return CMD_FAILURE;
+
ServerInstance->XLines->add_zline(ServerInstance->Duration(parameters[1]),user->nick,parameters[2],parameters[0]);
FOREACH_MOD(I_OnAddZLine,OnAddZLine(ServerInstance->Duration(parameters[1]), user, parameters[2], parameters[0]));
if (!ServerInstance->Duration(parameters[1]))
@@ -61,6 +63,9 @@ void cmd_zline::Handle (const char** parameters, int pcnt, userrec *user)
else
{
user->WriteServ("NOTICE %s :*** Z-Line %s not found in list, try /stats Z.",user->nick,parameters[0]);
+ return CMD_FAILURE;
}
}
+
+ return CMD_SUCCESS;
}