Procházet zdrojové kódy

Avoid match_my_nick()

Bryan Drewery před 14 roky
rodič
revize
8a13055793
1 změnil soubory, kde provedl 17 přidání a 21 odebrání
  1. 17 21
      src/mod/irc.mod/chan.c

+ 17 - 21
src/mod/irc.mod/chan.c

@@ -2899,33 +2899,29 @@ static int gotkick(char *from, char *origmsg)
       chan->channel.fighting++;
     }
 
-    const bool kicked_me = match_my_nick(nick);
-
-    if ((m_victim = ismember(chan, nick))) {
-      member_getuser(m_victim);
-      if (m_victim->user) {
-        // Revenge kick clients that kick our bots
-        if (chan->revenge && !kicked_me && m && m_victim->user->bot) {
-          if (role < 5 && !chan_sentkick(m) && me_op(chan)) {
-            m->flags |= SENTKICK;
-            dprintf(DP_MODE_NEXT, "KICK %s %s :%s%s\r\n", chan->name, m->nick, kickprefix, response(RES_REVENGE));
-          } else {
-            if (m->user) {
-              char tmp[128] = "";
-              simple_snprintf(tmp, sizeof(tmp), "Kicked bot %s on %s", m->nick, chan->dname);
-              deflag_user(m->user, DEFLAG_EVENT_REVENGE_KICK, tmp, chan);
-            }
+    m_victim = ismember(chan, nick);
+
+    member_getuser(m_victim);
+    if (m_victim->user) {
+      // Revenge kick clients that kick our bots
+      if (chan->revenge && !m_victim->is_me && m && m_victim->user->bot) {
+        if (role < 5 && !chan_sentkick(m) && me_op(chan)) {
+          m->flags |= SENTKICK;
+          dprintf(DP_MODE_NEXT, "KICK %s %s :%s%s\r\n", chan->name, m->nick, kickprefix, response(RES_REVENGE));
+        } else {
+          if (m->user) {
+            char tmp[128] = "";
+            simple_snprintf(tmp, sizeof(tmp), "Kicked bot %s on %s", m->nick, chan->dname);
+            deflag_user(m->user, DEFLAG_EVENT_REVENGE_KICK, tmp, chan);
           }
         }
-
-        set_handle_laston(chan->dname, m_victim->user, now);
       }
-    } else {
-      simple_snprintf(s1, sizeof(s1), "%s!*@could.not.loookup.hostname", nick);
+
+      set_handle_laston(chan->dname, m_victim->user, now);
     }
     irc_log(chan, "%s was kicked by %s (%s)", s1, from, msg);
     /* Kicked ME?!? the sods! */
-    if (kicked_me) {
+    if (m_victim->is_me) {
       check_rejoin(chan);
     } else {
       killmember(chan, nick);