modebuf_mode(mbuf, MODE_DEL | chptr->mode.mode); /* wipeout modes */
chptr->mode.mode &= MODE_BURSTADDED | MODE_WASDELJOINS;
- /* wipe out modes not represented in chptr->mode.mode */
- if (chptr->mode.limit) {
- modebuf_mode_uint(mbuf, MODE_DEL | MODE_LIMIT, chptr->mode.limit);
- chptr->mode.limit = 0;
- }
- if (chptr->mode.key[0]) {
- modebuf_mode_string(mbuf, MODE_DEL | MODE_KEY, chptr->mode.key, 0);
- chptr->mode.key[0] = '\0';
- }
- if (chptr->mode.upass[0]) {
- modebuf_mode_string(mbuf, MODE_DEL | MODE_UPASS, chptr->mode.upass, 0);
- chptr->mode.upass[0] = '\0';
- }
- if (chptr->mode.apass[0]) {
- modebuf_mode_string(mbuf, MODE_DEL | MODE_APASS, chptr->mode.apass, 0);
- chptr->mode.apass[0] = '\0';
- }
-
- parse_flags |= (MODE_PARSE_SET | MODE_PARSE_WIPEOUT); /* wipeout keys */
+ /* wipeout any limit and keys that are set */
+ parse_flags |= (MODE_PARSE_SET | MODE_PARSE_WIPEOUT);
/* mark bans for wipeout */
for (lp = chptr->banlist; lp; lp = lp->next)