fixed WHOHandler: don't add temporary user if a real user exists
[NeonServV5.git] / src / WHOHandler.c
index 5ad4ce6f302bf53bb7f5db8e5742700312650242..076afd3c0ed1655a9fb2870ad95c7e5c9a776e5d 100644 (file)
@@ -323,9 +323,11 @@ static void _recv_whohandler_354(struct ClientSocket *client, char **argv, unsig
         
         struct UserNode *user = getUserByNick(argv[5]);
         struct ChanUser *chanuser;
-        if((chanuserflags & CHANUSERFLAG_INVISIBLE) && (!user || !isBot(user))) {
-            user = createTempUser(argv[5]);
-            user->flags |= USERFLAG_ISTMPUSER;
+        if((chanuserflags & CHANUSERFLAG_INVISIBLE)) {
+            if(!user) {
+                user = createTempUser(argv[5]);
+                user->flags |= USERFLAG_ISTMPUSER;
+            }
             chan->flags |= CHANFLAG_HAVE_INVISIBLES;
             chanuser = addInvisibleChanUser(chan, user);
             chanuser->flags = (chanuser->flags & ~CHANUSERFLAG_OPPED_OR_VOICED) | chanuserflags;