fixed cmd_devoiceall & cmd_deopall
authorpk910 <philipp@zoelle1.de>
Mon, 26 Dec 2011 00:00:03 +0000 (01:00 +0100)
committerpk910 <philipp@zoelle1.de>
Mon, 26 Dec 2011 00:04:45 +0000 (01:04 +0100)
src/cmd_neonserv_deopall.c
src/cmd_neonserv_devoiceall.c

index 0cef7b19d5995f57b2510e1b7029ddde0fd4e5c2..9944918da569f39cbfaaf0b19d38c7c549e63b5c 100644 (file)
@@ -71,8 +71,8 @@ static void neonserv_cmd_deopall_async1(struct ClientSocket *client, struct Clie
     issuer_access = getChannelAccess(user, chan);
     for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
         if(nickmask && match(nickmask, chanuser->user->nick)) continue;
-        victim_access = getChannelAccess(user, chan);
-        if(victim_access >= issuer_access) continue;
+        victim_access = getChannelAccess(chanuser->user, chan);
+        if(victim_access >= issuer_access || isNetworkService(chanuser->user)) continue;
         if(!(chanuser->flags & CHANUSERFLAG_OPPED)) continue;
         modeBufferDeop(modeBuf, chanuser->user->nick);
         done_users++;
index 9fec9b4bbe665ced93ff413cb889cbe4eea30651..0a0d5d66d0f6bef8f79af85629f43282355d6892 100644 (file)
@@ -33,7 +33,7 @@ CMD_BIND(neonserv_cmd_devoiceall) {
     issuer_access = getChannelAccess(user, chan);
     for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
         if(nickmask && match(nickmask, chanuser->user->nick)) continue;
-        victim_access = getChannelAccess(user, chan);
+        victim_access = getChannelAccess(chanuser->user, chan);
         if(victim_access >= issuer_access) continue;
         if(!(chanuser->flags & CHANUSERFLAG_VOICED)) continue;
         modeBufferDevoice(modeBuf, chanuser->user->nick);