]> jfr.im git - irc/quakenet/newserv.git/blobdiff - control/control.c
Port to git.
[irc/quakenet/newserv.git] / control / control.c
index 6c9fd4d491fca648a76adf44803baf5db035be0b..7c9878f64e768e52561c0d3a75ad92c1b502d58e 100644 (file)
@@ -78,6 +78,7 @@ const flag no_noticeflags[] = {
     { 'O', NL_OPERING },      /* when someone opers */
     { 'n', NL_NOTICES },      /* turn off to receive notices instead of privmsgs */
     { 'A', NL_ALL_COMMANDS }, /* all commands sent */
+    { 'a', NL_CLEANUP },      /* automated cleanup notices */
     { '\0', 0 }
   };
 
@@ -286,11 +287,27 @@ void handlewhois(int hooknum, void *arg) {
   controlreply(hooknick,"%s",(char *)arg);
 }
 
-void whoisnick(nick *sender, nick *target) {
+static int controlwhois_plain(void *sender, int cargc, char **cargv) {
+  nick *target;
   channel **channels;
   char buf[BUFSIZE];
   int i;
-
+  
+  if (cargc<1)
+    return CMD_USAGE;
+  
+  if (cargv[0][0]=='#') {
+    if (!(target=getnickbynumericstr(cargv[0]+1))) {
+      controlreply(sender,"Sorry, couldn't find numeric %s",cargv[0]+1);
+      return CMD_ERROR;
+    }
+  } else {
+    if ((target=getnickbynick(cargv[0]))==NULL) {
+      controlreply((nick *)sender,"Sorry, couldn't find that user");
+      return CMD_ERROR;
+    }
+  }
+  
   controlreply((nick *)sender,"Nick      : %s",target->nick);
   controlreply((nick *)sender,"Numeric   : %s",longtonumeric(target->numeric,5));
   controlreply((nick *)sender,"User@Host : %s@%s (%d user(s) on this host)",target->ident,target->host->name->content,target->host->clonecount);
@@ -325,11 +342,11 @@ void whoisnick(nick *sender, nick *target) {
     controlreply((nick *)sender,"Opered as : %s",target->opername->content);
   if (IsAccount(target)) {
     controlreply((nick *)sender,"Account   : %s",target->authname);
-    if (target->accountts)
+    if (target->accountts) 
       controlreply((nick *)sender,"AccountTS : %ld",target->accountts);
     if (target->auth)  {
       controlreply((nick *)sender,"UserID    : %ld",target->auth->userid);
-      if (target->auth->flags)
+      if (target->auth->flags) 
         controlreply((nick *)sender,"AccFlags  : %s",printflags(target->auth->flags,accountflags));
     }
   }
@@ -365,27 +382,6 @@ void whoisnick(nick *sender, nick *target) {
       }
     }
   }
-}
-
-static int controlwhois_plain(void *sender, int cargc, char **cargv) {
-  nick *target;
-  
-  if (cargc<1)
-    return CMD_USAGE;
-  
-  if (cargv[0][0]=='#') {
-    if (!(target=getnickbynumericstr(cargv[0]+1))) {
-      controlreply(sender,"Sorry, couldn't find numeric %s",cargv[0]+1);
-      return CMD_ERROR;
-    }
-  } else {
-    if ((target=getnickbynick(cargv[0]))==NULL) {
-      controlreply((nick *)sender,"Sorry, couldn't find that user");
-      return CMD_ERROR;
-    }
-  }
-  whoisnick(sender, target); 
   
   return CMD_OK;
 }
@@ -626,7 +622,7 @@ int relink(void *sender, int cargc, char **cargv) {
   }
   
   irc_send("%s SQ %s 0 :%s",mynumeric->content,myserver->content,cargv[0]);
-  irc_disconnected();
+  irc_disconnected(0);
   
   return CMD_OK;
 }