fixed Registering User queue
authorpk910 <philipp@zoelle1.de>
Sun, 30 Oct 2011 16:10:39 +0000 (17:10 +0100)
committerpk910 <philipp@zoelle1.de>
Sun, 30 Oct 2011 16:10:39 +0000 (17:10 +0100)
src/IRCParser.c

index d4ca05eabf9326c1225e51bf740e75c89c9732e5..3b92d2840f6cbffa15f9e8ada2bdf6220910baec 100644 (file)
@@ -153,15 +153,17 @@ static IRC_CMD(raw_join) {
     if(user == NULL) {
         user = addUserMask(from);
     }
-    struct UserNode *registering, *last_registering = NULL;
+    struct UserNode *registering, *last_registering = NULL, *next_registering;
     int noEvent = 0;
-    for(registering = registering_users; registering; registering = registering->next) {
+    for(registering = registering_users; registering; registering = next_registering) {
+        next_registering = registering->next;
         if(!strcmp(registering->nick, user->nick)) {
             noEvent = event_registered(registering, user);
             if(last_registering)
                 last_registering->next = registering->next;
             else
                 registering_users = registering->next;
+            
             delUser(registering, 1);
         } else if(time(0) - registering->created > 2) {
             if(last_registering)