X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2FWHOHandler.c;fp=src%2FWHOHandler.c;h=b0b8ddc51771f22fa5c349f255f31fd01147c2dc;hp=e470abbda19a278d12385e341d6124005f7622c9;hb=65bb4d5c6fcb396b29c93ef65075664e7b4123d7;hpb=13e28159aa225b8410fdf51ead5ab5449d0bbf6d diff --git a/src/WHOHandler.c b/src/WHOHandler.c index e470abb..b0b8ddc 100644 --- a/src/WHOHandler.c +++ b/src/WHOHandler.c @@ -177,6 +177,7 @@ void get_userauth(struct UserNode *user, userauth_callback_t callback, void *dat entry = addWHOQueueEntry(bot); entry->type = WHOQUEUETYPE_ISONQUEUE | WHOQUEUETYPE_USERAUTH; entry->user = user; + user->flags |= USERFLAG_IS_ON_WHO_QUEUE; entry->callback[0] = callback; int i; for(i = 1; i < MAXCALLBACKS; i++) @@ -308,6 +309,10 @@ void recv_whohandler_315(struct ClientSocket *client, char **argv, unsigned int callback(client, entry->user->nick, NULL, entry->data[i]); } } + entry->user->flags &= ~USERFLAG_IS_ON_WHO_QUEUE; + if(entry->user->flags & USERFLAG_FREE_AFTER_WHO) { + delUser(entry->user, 1); + } } free(entry); }