X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=ircd%2Fm_clearmode.c;h=2e02bb0253ca9acf7baf31c3d313a7eb7e3991f1;hp=26955743a3b84318bcf8e7456452172cd8a813c3;hb=665c0fad3ca5608bf886dd739ca47dfdf1827d13;hpb=db1838687f0fe133bdf0d4e2572344ce623fbacf diff --git a/ircd/m_clearmode.c b/ircd/m_clearmode.c index 2695574..2e02bb0 100644 --- a/ircd/m_clearmode.c +++ b/ircd/m_clearmode.c @@ -128,6 +128,7 @@ do_clearmode(struct Client *cptr, struct Client *sptr, struct Channel *chptr, MODE_NOCOLOUR, 'c', MODE_NOCTCP, 'C', MODE_NOAMSGS, 'M', + MODE_BANEXCEPTION, 'e', 0x0, 0x0 }; int *flag_p; @@ -194,12 +195,12 @@ do_clearmode(struct Client *cptr, struct Client *sptr, struct Channel *chptr, } /* Deal with users on the channel */ - if (del_mode & (MODE_BAN | MODE_CHANOP | MODE_HALFOP | MODE_VOICE)) + if (del_mode & (MODE_BAN | MODE_BANEXCEPTION | MODE_CHANOP | MODE_HALFOP | MODE_VOICE)) for (member = chptr->members; member; member = member->next_member) { if (IsZombie(member)) /* we ignore zombies */ continue; - if (del_mode & MODE_BAN) /* If we cleared bans, clear the valid flags */ + if (del_mode & (MODE_BAN | MODE_BANEXCEPTION)) /* If we cleared bans, clear the valid flags */ ClearBanValid(member); /* Drop channel operator status */ @@ -285,7 +286,7 @@ int mo_clearmode(struct Client* cptr, struct Client* sptr, int parc, char* parv[]) { struct Channel *chptr; - char *control = "ovpsmikbl"; /* default control string */ + char *control = "ovpsmikble"; /* default control string */ const char *chname, *qreason; int force = 0;