Fix thinko that should have been obvious.
authorMichael Poole <mdpoole@troilus.org>
Sat, 18 Dec 2004 04:45:49 +0000 (04:45 +0000)
committerMichael Poole <mdpoole@troilus.org>
Sat, 18 Dec 2004 04:45:49 +0000 (04:45 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1280 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ircd/channel.c

index b335f93bdfff3f21704af597e9b8d4d258ea43a0..e2a991fb0ca56d20c857a1b82403351eae03f900 100644 (file)
@@ -2683,7 +2683,7 @@ bmatch(struct Ban *old_ban, struct Ban *new_ban)
  * @param[in] newban Ban (or exception) to add (or remove).
  * @return Zero if \a newban could be applied, non-zero if not.
  */
-int apply_ban(struct Ban **banlist, struct Ban *newban, int free)
+int apply_ban(struct Ban **banlist, struct Ban *newban, int do_free)
 {
   struct Ban *ban;
   size_t count = 0;
@@ -2694,7 +2694,7 @@ int apply_ban(struct Ban **banlist, struct Ban *newban, int free)
     /* If a less specific entry is found, fail.  */
     for (ban = *banlist; ban; ban = ban->next) {
       if (!bmatch(ban, newban)) {
-        if (free)
+        if (do_free)
           free_ban(newban);
         return 1;
       }
@@ -2721,14 +2721,15 @@ int apply_ban(struct Ban **banlist, struct Ban *newban, int free)
         remove_count++;
       }
     }
-    if (free)
+    if (do_free)
       free_ban(newban);
     else
       MyFree(newban->banstr);
     /* If no matches were found, fail. */
     return remove_count ? 0 : 3;
   }
-  free_ban(newban);
+  if (do_free)
+    free_ban(newban);
   return 4;
 }