]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Add code to CLEANUPDB to remove chanlev entries with no flags.
authorsplidge <redacted>
Tue, 25 Mar 2008 15:26:35 +0000 (15:26 +0000)
committersplidge <redacted>
Tue, 25 Mar 2008 15:26:35 +0000 (15:26 +0000)
These shouldn't occur except via database import, but a warning message is spammed so it can be checked.
The actual deleting code is commented out pending testing.

chanserv/usercmds/cleanupdb.c

index b66921110ae37b87fa0d63b9d7057a8d0c8bce38..390eb78960b80254562a09e811184d4febf12ec2 100644 (file)
@@ -74,6 +74,21 @@ int csu_docleanupdb(void *source, int cargc, char **cargv) {
         cs_removechannel(rcp);
         chansvaped++;
       }
+      
+      /* Get rid of any dead chanlev entries */
+      for (j=0;j<REGCHANUSERHASHSIZE;j++) {
+        for (rcup=rcp->users[j];rcup;rcup=nrcup} {
+          nrcup=rcup->nextbychan;
+          
+          if (!rcup->flags) {
+            chanservsendmessage("Removing user %s from channel %s (no flags)",rcup->user->username,rcp->index->name->content);
+/*
+            csdb_deletechanuser(rcup);
+            delreguserfromchannel(rcp, rcup->user);
+*/
+          }
+        }
+      }
     }
   }