Merge branch 'master' of ssh://git.pk910.de:16110/NeonServV5
authorpk910 <philipp@zoelle1.de>
Wed, 4 Jan 2012 22:40:34 +0000 (23:40 +0100)
committerpk910 <philipp@zoelle1.de>
Wed, 4 Jan 2012 22:40:34 +0000 (23:40 +0100)
src/UserNode.c

index 887b9c9b36de9890db5519a9246d4f7684926b68..df4edebfe73f54a55e5d731ef957f9085baf1695 100644 (file)
@@ -351,6 +351,10 @@ void delUser(struct UserNode* user, int freeUser) {
         } else
             last_user = cuser;
     }
+       if(freeUser && (user->flags & USERFLAG_IS_ON_WHO_QUEUE)) {
+               user->flags |= USERFLAG_FREE_AFTER_WHO;
+               freeUser = 0;
+       }
     if(user->channel) {
         struct ChanUser *chanUser, *next;
         for(chanUser = user->channel; chanUser; chanUser = next) {
@@ -358,12 +362,9 @@ void delUser(struct UserNode* user, int freeUser) {
             removeChanUserFromLists(chanUser, 1, 0, freeUser);
         }
     }
-    if(freeUser) {
-        if(user->flags & USERFLAG_IS_ON_WHO_QUEUE)
-            user->flags |= USERFLAG_FREE_AFTER_WHO;
-        else
-            free(user);
-    } else
+    if(freeUser)
+        free(user);
+    else
         user->next = NULL;
 }