X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2FIRCParser.c;h=701ad457b54d592ecae6b15c02d9d110916e2a88;hp=35b99a491269e282a769f9e001a192de782d320e;hb=ae068d3322a2c37f868ea89039d347801266dd1f;hpb=86e88e38cf7b9b9e43279874074987adac5c7d55 diff --git a/src/IRCParser.c b/src/IRCParser.c index 35b99a4..701ad45 100644 --- a/src/IRCParser.c +++ b/src/IRCParser.c @@ -481,7 +481,8 @@ static IRC_CMD(raw_kick) { chanuser->visCount--; if(chanuser->visCount == 0) { delChanUser(chanuser, 0); //not free, yet! - event_kick(user, chanuser, argv[2]); + if(user) + event_kick(user, chanuser, argv[2]); freeChanUser(chanuser); } @@ -556,6 +557,7 @@ static IRC_CMD(raw_quit) { if(user->channel == NULL) { if(isBot(user)) { //ASSERT + DESYNCHRONIZE(cache_sync); return 0; } if((user->flags & USERFLAG_WAS_REGISTERING)) { @@ -640,6 +642,7 @@ static IRC_CMD(raw_privmsg) { if(from == NULL || argc < 2) return 0; struct UserNode *user = getUserByMask(from); if(user == NULL) { + if(stricmplen(from, "***!", 4) == 0) return 1; /* ZNC Playback */ user = createTempUserMask(from); if(!user) return 0; user->flags |= USERFLAG_ISTMPUSER;