]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/mod-track.c
Couple of srvx updates.
[irc/evilnet/x3.git] / src / mod-track.c
index 3c7e7f36472e971555a39b5924381753e8bcac95..d88d143b7e5f50a143bc3c92c348f8bd2cc8963e 100644 (file)
@@ -190,11 +190,9 @@ parse_track_conf(char *line)
 }
 
 static void
-track_nick_change(struct userNode *user, const char *old_nick) {
+track_nick_change(struct userNode *user, const char *old_nick, UNUSED_ARG(void *extra)) {
     if (!track_cfg.enabled) return;
 
-    if(!IsUserP(user))
-        return 0;
     if(check_track_user(old_nick)) {
         del_track_user(old_nick);
         add_track_user(user);
@@ -207,7 +205,7 @@ track_nick_change(struct userNode *user, const char *old_nick) {
 }
 
 static int
-track_join(struct modeNode *mNode) {
+track_join(struct modeNode *mNode, UNUSED_ARG(void *extra)) {
     struct userNode *user = mNode->user;
     struct chanNode *chan = mNode->channel;
     if (!track_cfg.enabled) return 0;
@@ -225,7 +223,7 @@ track_join(struct modeNode *mNode) {
 }
 
 static void
-track_part(struct modeNode *mn, const char *reason) {
+track_part(struct modeNode *mn, const char *reason, UNUSED_ARG(void *extra)) {
     if (!track_cfg.enabled) return;
     if (mn->user->dead) return;
     if (check_track_part(track_cfg) && check_track_user(mn->user->nick))
@@ -236,20 +234,24 @@ track_part(struct modeNode *mn, const char *reason) {
 }
 
 static void
-track_kick(struct userNode *kicker, struct userNode *victim, struct chanNode *chan) {
+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"));
     }
 }
 
 static int
-track_new_user(struct userNode *user) {
+track_new_user(struct userNode *user, UNUSED_ARG(void *extra)) {
 
-    if(!IsUserP(user))
-        return 0;
     if (!track_cfg.enabled) return 0;
     if (user->uplink->burst && !track_cfg.show_bursts) return 0;
     if (check_track_new(track_cfg) && check_track_user(user->nick))
@@ -261,7 +263,7 @@ track_new_user(struct userNode *user) {
 }
 
 static void
-track_del_user(struct userNode *user, struct userNode *killer, const char *why) {
+track_del_user(struct userNode *user, struct userNode *killer, const char *why, UNUSED_ARG(void *extra)) {
     if (!track_cfg.enabled) return;
     if (check_track_del(track_cfg) && (check_track_user(user->nick) || (killer && check_track_user(killer->nick))))
     {
@@ -276,9 +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)) {
-    if(!IsUserP(user))
-        return;
+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))) {
@@ -289,7 +289,7 @@ track_auth(struct userNode *user, UNUSED_ARG(struct handle_info *old_handle)) {
 }
 
 static void
-track_user_mode(struct userNode *user, const char *mode_change) {
+track_user_mode(struct userNode *user, const char *mode_change, UNUSED_ARG(void *extra)) {
        if (!track_cfg.enabled) return;
        if (user->uplink->burst && !track_cfg.show_bursts) return;
        if (!mode_change[1]) return; /* warning there has to be atleast one char in the buffer */
@@ -301,7 +301,7 @@ track_user_mode(struct userNode *user, const char *mode_change) {
 }
 
 static void
-track_oper(struct userNode *user) {
+track_oper(struct userNode *user, UNUSED_ARG(void *extra)) {
        if (!track_cfg.enabled) return;
        if (user->uplink->burst && !track_cfg.show_bursts) return;
        UPDATE_TIMESTAMP();
@@ -309,7 +309,7 @@ track_oper(struct userNode *user) {
 }
 
 static void
-track_channel_mode(struct userNode *who, struct chanNode *channel, char **modes, unsigned int argc)
+track_channel_mode(struct userNode *who, struct chanNode *channel, char **modes, unsigned int argc, UNUSED_ARG(void *extra))
 {
        if (!track_cfg.enabled) return;
        if(who)
@@ -650,9 +650,9 @@ 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);
+    unreg_del_user_func(track_del_user, NULL);
     dict_delete(track_db);
 }
 
@@ -661,18 +661,18 @@ 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);
-    reg_join_func(track_join);
-    reg_part_func(track_part);
-    reg_kick_func(track_kick);
-    reg_new_user_func(track_new_user);
-    reg_del_user_func(track_del_user);
-    reg_auth_func(track_auth);
-    reg_channel_mode_func(track_channel_mode);
-    reg_user_mode_func(track_user_mode);
-    reg_oper_func(track_oper);
+    reg_nick_change_func(track_nick_change, NULL);
+    reg_join_func(track_join, NULL);
+    reg_part_func(track_part, NULL);
+    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, NULL);
+    reg_channel_mode_func(track_channel_mode, NULL);
+    reg_user_mode_func(track_user_mode, NULL);
+    reg_oper_func(track_oper, NULL);
     opserv_define_func("TRACK", cmd_track, 800, 0, 0);
     opserv_define_func("DELTRACK", cmd_deltrack, 800, 0, 0);
     opserv_define_func("ADDTRACK", cmd_addtrack, 800, 0, 0);