]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanfix/chanfix.c
newsearch: reason function should return "" instead of NULL.
[irc/quakenet/newserv.git] / chanfix / chanfix.c
index 31698d94106e3eaf4801d06d32788787d7511625..698511b48f17151fc6cf993831e2d42c60cb9411 100644 (file)
@@ -446,7 +446,7 @@ int cfcmd_chanfix(void *source, int cargc, char **cargv) {
     return CMD_ERROR;
   }
 
-  if (sp_countsplitservers() > 0) {
+  if (sp_countsplitservers(SERVERTYPEFLAG_USER_STATE) > 0) {
     controlreply(np, "Chanfix cannot be used during a netsplit.");
 
     return CMD_ERROR;
@@ -586,7 +586,7 @@ int cfcmd_requestop(void *source, int cargc, char **cargv) {
     }
   }
 
-  if (sp_countsplitservers() > 0) {
+  if (sp_countsplitservers(SERVERTYPEFLAG_USER_STATE) > 0) {
     controlreply(np, "One or more servers are currently split. Wait until the"
                  " netsplit is over and try again.");
 
@@ -679,7 +679,6 @@ void cfsched_dosample(void *arg) {
   channel *cp;
   chanindex *cip;
   nick *np;
-  chanfix *cf;
   regop *ro, *roh;
   struct timeval start;
   struct timeval end;
@@ -689,14 +688,13 @@ void cfsched_dosample(void *arg) {
 
   cfuhost = cfscore = cfnewro = 0;
 
-  if (sp_countsplitservers() > CFMAXSPLITSERVERS)
+  if (sp_countsplitservers(SERVERTYPEFLAG_USER_STATE) > CFMAXSPLITSERVERS)
     return;
 
   gettimeofday(&start, NULL);
 
   for (i=0; i<CHANNELHASHSIZE; i++) {
     for (cip=chantable[i]; cip; cip=cip->next) {
-      cf = (chanfix*)cip->exts[cfext];
       cp = cip->channel;
 
       if (!cp || cp->users->totalusers < CFMINUSERS)
@@ -706,6 +704,9 @@ void cfsched_dosample(void *arg) {
         if ((cp->users->content[a] != nouser) && (cp->users->content[a] & CUMODE_OP)) {
           np = getnickbynumeric(cp->users->content[a]);
 
+          if (np)
+            continue;
+
 #if !CFDEBUG
           if (IsService(np))
             continue;
@@ -857,7 +858,7 @@ void cfhook_autofix(int hook, void *arg) {
       hook == HOOK_CHANNEL_KICK || hook == HOOK_CHANNEL_JOIN) {
     cp = args[0];
 
-    if (sp_countsplitservers() > 0)
+    if (sp_countsplitservers(SERVERTYPEFLAG_USER_STATE) > 0)
       return;
 
     for(a=0;a<cp->users->hashsize;a++) {