X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/3a196bdbc4782e5437d23085a01e24e237a04e0e..c0601d1e22c5c3749ea94c1c4359f9223b732fe4:/src/mod-track.c?ds=sidebyside diff --git a/src/mod-track.c b/src/mod-track.c index d5c9040..d88d143 100644 --- a/src/mod-track.c +++ b/src/mod-track.c @@ -236,8 +236,14 @@ track_part(struct modeNode *mn, const char *reason, UNUSED_ARG(void *extra)) { static void track_kick(struct userNode *kicker, struct userNode *victim, struct chanNode *chan, UNUSED_ARG(void *extra)) { if (!track_cfg.enabled) return; - if (check_track_kick(track_cfg) && ((check_track_user(kicker->nick) || check_track_user(victim->nick)))) + if (check_track_kick(track_cfg) && check_track_user(victim->nick)) { + if (kicker) /* net rider kicks dont have a kicker set */ + { + if (!check_track_user(kicker->nick)) + return; + } + UPDATE_TIMESTAMP(); TRACK("$bKICK$b %s from %s by %s", victim->nick, chan->name, (kicker ? kicker->nick : "some server")); } @@ -272,7 +278,7 @@ track_del_user(struct userNode *user, struct userNode *killer, const char *why, } static void -track_auth(struct userNode *user, UNUSED_ARG(struct handle_info *old_handle)) { +track_auth(struct userNode *user, UNUSED_ARG(struct handle_info *old_handle), UNUSED_ARG(void *extra)) { if (!track_cfg.enabled) return; if (user->uplink->burst && !track_cfg.show_bursts) return; if (user->handle_info && (check_track_auth(track_cfg) && check_track_user(user->nick))) { @@ -644,7 +650,7 @@ track_conf_read(void) { } void -track_cleanup(void) { +track_cleanup(UNUSED_ARG(void *extra)) { track_cfg.enabled = 0; unreg_del_user_func(track_del_user, NULL); dict_delete(track_db); @@ -655,7 +661,7 @@ track_init(void) { track_db = dict_new(); dict_set_free_keys(track_db, free); - reg_exit_func(track_cleanup); + reg_exit_func(track_cleanup, NULL); conf_register_reload(track_conf_read); reg_nick_change_func(track_nick_change, NULL); reg_join_func(track_join, NULL); @@ -663,7 +669,7 @@ track_init(void) { reg_kick_func(track_kick, NULL); reg_new_user_func(track_new_user, NULL); reg_del_user_func(track_del_user, NULL); - reg_auth_func(track_auth); + reg_auth_func(track_auth, NULL); reg_channel_mode_func(track_channel_mode, NULL); reg_user_mode_func(track_user_mode, NULL); reg_oper_func(track_oper, NULL);