-/* cmd_neonserv_deopall.c - NeonServ v5.2
- * Copyright (C) 2011 Philipp Kreil (pk910)
+/* cmd_neonserv_deopall.c - NeonServ v5.3
+ * Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
for(i = 0; i < cache->argc; i++) {
free(cache->argv[i]);
}
+ free(cache->argv);
free(cache);
}
if(argc > 0)
nickmask = argv[0];
modeBuf = initModeBuffer(client, chan);
- issuer_access = getChannelAccess(user, chan, 0);
+ 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, 0);
- 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++;