]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/chanserv_protect.c
Merge chanserv-live into default.
[irc/quakenet/newserv.git] / chanserv / chanserv_protect.c
index 1833db68830bade59229bb547aa9f3d75e54dd63..d42237d28ae92cdebefdfdc7e040f80652a3ab9d 100644 (file)
@@ -7,22 +7,26 @@
 #include "../core/schedule.h"
 #include "../localuser/localuser.h"
 #include "../lib/irc_string.h"
+#include "../lib/version.h"
+
+MODULE_VERSION(QVERSION)
 
 #define PROTECTTIME    60 /* How long you have to renick if you encroach.. */
 
 void csp_handlenick(int hooknum, void *arg);
+void csp_handlerename(int hooknum, void *arg);
 void csp_freenick(int hooknum, void *arg);
 void csp_timerfunc (void *arg);
 int csp_doclaimnick(void *source, int cargc, char **cargv);
 
 void _init() {
   registerhook(HOOK_NICK_NEWNICK, csp_handlenick);
-  registerhook(HOOK_NICK_RENAME, csp_handlenick);
+  registerhook(HOOK_NICK_RENAME, csp_handlerename);
 
   registerhook(HOOK_NICK_NEWNICK, csp_freenick);
   registerhook(HOOK_NICK_ACCOUNT, csp_freenick);
   
-  chanservaddcommand("claimnick", QCMD_HELPER, 0, csp_doclaimnick, "Reclaims your nickname if it has been stolen.","");
+  chanservaddcommand("claimnick", QCMD_STAFF, 0, csp_doclaimnick, "Reclaims your nickname if it has been stolen.","");
 }
 
 void _fini() {
@@ -30,7 +34,7 @@ void _fini() {
   int i;
 
   deregisterhook(HOOK_NICK_NEWNICK, csp_handlenick);
-  deregisterhook(HOOK_NICK_RENAME, csp_handlenick);
+  deregisterhook(HOOK_NICK_RENAME, csp_handlerename);
 
   deregisterhook(HOOK_NICK_NEWNICK, csp_freenick);
   deregisterhook(HOOK_NICK_ACCOUNT, csp_freenick);
@@ -49,6 +53,11 @@ void _fini() {
       }
 }
 
+void csp_handlerename(int hooknum, void *arg) {
+  void **harg = (void **)arg;
+  csp_handlenick(hooknum, harg[0]);
+}
+
 void csp_handlenick(int hooknum, void *arg) {
   nick *np=arg;
   reguser *rup;