]> jfr.im git - irc/evilnet/x3.git/commitdiff
Handle a bug in nef* with double +o modes on remote opers
authorrubinlinux <redacted>
Thu, 11 Aug 2005 17:44:24 +0000 (17:44 +0000)
committerrubinlinux <redacted>
Thu, 11 Aug 2005 17:44:24 +0000 (17:44 +0000)
ChangeLog.X3
src/proto-p10.c

index dea9d30b6fdd7a0f7091f24ab04eddc54191117a..27cce5c1fd696f6284e94de9d4c81c787e5fc5be 100644 (file)
@@ -1,6 +1,11 @@
 /***********************************************************************
  X3 ChangeLog
 
+2005-08-11  Alex Schumann  <rubin@afternet.org>
+
+       * src/proto-p10.c: Avoid duplicating an oper in curr_opers (,staff
+       command) when nef* bug sends the +o twice.
+
 2005-08-09  Alex Schumann  <rubin@afternet.org>
 
        * src/chanserv.c: Fixed banTimeout to actually remove the bans :)
index d611d98839ed0baef73e04542b6083d9598f06ba..82bd7cf943cc18dc21d6c0ce3a96bf797a57b8aa 100644 (file)
@@ -2152,8 +2152,10 @@ void mod_usermode(struct userNode *user, const char *mode_change) {
        case 'o':
            do_user_mode(FLAGS_OPER);
            if (add) {
-               userList_append(&curr_opers, user);
-               call_oper_funcs(user);
+                if(!IsOper(user)) { /* Dont re-oper an oper */
+                    userList_append(&curr_opers, user);
+                    call_oper_funcs(user);
+                }
            } else {
                userList_remove(&curr_opers, user);
            }