X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FIRCParser.c;h=3b92d2840f6cbffa15f9e8ada2bdf6220910baec;hb=4b4302dbeb34b0e7982f1f38ec660086d2eb9e7e;hp=d4ca05eabf9326c1225e51bf740e75c89c9732e5;hpb=288f1c2e43f8322e99947a521190170153ba56c4;p=NeonServV5.git diff --git a/src/IRCParser.c b/src/IRCParser.c index d4ca05e..3b92d28 100644 --- a/src/IRCParser.c +++ b/src/IRCParser.c @@ -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)