]> jfr.im git - irc/quakenet/newserv.git/blobdiff - control/control.c
Use nsmalloc/nsfree for chanserv.
[irc/quakenet/newserv.git] / control / control.c
index 43e584be4bc88211fe88539b02dd20c6c69973e1..8c2676451d1b29005280db723371a1911ce80207 100644 (file)
@@ -249,6 +249,20 @@ int controlwhois(void *sender, int cargc, char **cargv) {
     }
   }
   controlreply((nick *)sender,"Timestamp : %lu",target->timestamp);
+
+  /* HACK */
+  {
+    int ext = findnickext("signontracker");
+
+    if(ext >= 0) {
+      time_t signedon = (time_t)(target->exts[ext]);
+      if(signedon) {
+        controlreply((nick *)sender,"Signed on : %lu",signedon);
+      } else {
+        controlreply((nick *)sender,"Signed on : ???");
+      }
+    }
+  }
   controlreply((nick *)sender,"IP address: %s",IPtostr(target->p_ipaddr));
   controlreply((nick *)sender,"Realname  : %s (%d user(s) have this realname)",target->realname->name->content,target->realname->usercount);
   if (target->umodes) {
@@ -329,7 +343,7 @@ int controlrmmod(void *sender, int cargc, char **cargv) {
   if (cargc<1)
     return CMD_USAGE;
   
-  switch(rmmod(cargv[0])) {
+  switch(rmmod(cargv[0], 1)) {
     case 1:
       controlreply((nick *)sender,"Module %s is not loaded.",cargv[0]);
       return CMD_ERROR;
@@ -597,7 +611,7 @@ void controlspecialrmmod(void *arg) {
   
   a->schedule = NULL;
 
-  rmmod(froo->content);
+  rmmod(froo->content, 1);
   freesstring(froo);
 }