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++;
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);