X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fevent_neonserv_kick.c;h=63477b94a74d62dd5121619fe2c515ad0a272959;hb=2d9db1adb1946aba00b203f40eff7d5db8163f01;hp=d4783bbcbf25757c1af41885ce8dc3dc29e9a33e;hpb=bf9e66fd27671379903a4870b28380a85ea5d31d;p=NeonServV5.git diff --git a/src/event_neonserv_kick.c b/src/event_neonserv_kick.c index d4783bb..63477b9 100644 --- a/src/event_neonserv_kick.c +++ b/src/event_neonserv_kick.c @@ -1,4 +1,4 @@ -/* event_neonserv_kick.c - NeonServ v5.0 +/* event_neonserv_kick.c - NeonServ v5.1 * Copyright (C) 2011 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify @@ -27,6 +27,7 @@ static void neonserv_event_kick_async1(struct neonserv_event_kick_cache *cache); static void neonserv_event_kick_async2(struct ClientSocket *client, struct UserNode *user, struct ChanUser *target); static void neonserv_event_kick(struct UserNode *user, struct ChanUser *target, char *reason) { + struct ChanNode *chan = target->chan; struct ClientSocket *client = getBotForChannel(chan); if(!client) return; //we can't "see" this event if(isNetworkService(user)) return; @@ -45,8 +46,8 @@ static void neonserv_event_kick(struct UserNode *user, struct ChanUser *target, get_userauth(user, neonserv_event_kick_nick_lookup, cache); cache->userauth_pending++; } - if(!(chanuser->user->flags & USERFLAG_ISAUTHED)) { - get_userauth(chanuser->user, neonserv_event_kick_nick_lookup, cache); + if(!(target->user->flags & USERFLAG_ISAUTHED)) { + get_userauth(target->user, neonserv_event_kick_nick_lookup, cache); cache->userauth_pending++; } neonserv_event_kick_async1(cache); @@ -60,7 +61,7 @@ static USERAUTH_CALLBACK(neonserv_event_kick_nick_lookup) { static void neonserv_event_kick_async1(struct neonserv_event_kick_cache *cache) { if(cache->userauth_pending == 0) { - neonserv_event_kick_async2(cache->client, cache->user, cache->chanuser); + neonserv_event_kick_async2(cache->client, cache->user, cache->target); free(cache); } }