Author: Isomer <isomer@coders.net>
[ircu2.10.12-pk.git] / ircd / s_misc.c
index 82fb0648c11e78c0abac383caa98418831316191..20e8a1842dbe6425d2dcff704ebdcc9dbb86c79a 100644 (file)
@@ -254,8 +254,10 @@ static void exit_one_client(struct Client* bcptr, const char* comment)
       --UserStats.opers;
     if (MyConnect(bcptr))
       Count_clientdisconnects(bcptr, UserStats);
-    else
+    else {
       Count_remoteclientquits(UserStats, bcptr);
+      ip_registry_remote_disconnect(bcptr);
+    }
   }
   else if (IsServer(bcptr))
   {
@@ -277,9 +279,6 @@ static void exit_one_client(struct Client* bcptr, const char* comment)
   else if (IsUnknown(bcptr) || IsConnecting(bcptr) || IsHandshake(bcptr))
     Count_unknowndisconnects(UserStats);
 
-  /* Update IPregistry */
-  ip_registry_disconnect(bcptr);
-
 
   /* 
    * Remove from serv->client_list
@@ -384,7 +383,7 @@ int exit_client(struct Client *cptr,    /* Connection being handled by
   time_t on_for;
 #endif
   char comment1[HOSTLEN + HOSTLEN + 2];
-
+  assert(killer);
   if (MyConnect(victim)) {
     victim->flags |= FLAGS_CLOSING;
     update_load();