src/proto-p10.c (mod_chanmode_parse): Just ignore +z when MCP_REGISTERED
is set (which only happens from ChanServ).
src/opserv.c (cmd_clearmodes): Do not automatically clear +z.
return 0;
}
mod_chanmode_init(&change);
- change.modes_clear = channel->modes;
+ change.modes_clear = channel->modes & ~MODE_REGISTERED;
modcmd_chanmode_announce(&change);
reply("OSMSG_CLEARMODES_DONE", channel->name);
return 1;
case 's': do_chan_mode(MODE_SECRET); break;
case 't': do_chan_mode(MODE_TOPICLIMIT); break;
case 'z':
- if (!(flags & MCP_REGISTERED)) {
+ if (!(flags & MCP_REGISTERED))
do_chan_mode(MODE_REGISTERED);
- } else {
- mod_chanmode_free(change);
- return NULL;
- }
break;
#undef do_chan_mode
case 'l':