From 3c6ecbcbb227f6273e2f75d11e3553b5f153f573 Mon Sep 17 00:00:00 2001 From: Bram Matthys Date: Sun, 13 Apr 2003 20:05:54 +0000 Subject: [PATCH] - Fix for set::restrict-channelmodes (eating parameters). --- Changes | 1 + src/channel.c | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Changes b/Changes index ce32ec6bc..3a9ec3ffa 100644 --- a/Changes +++ b/Changes @@ -2055,3 +2055,4 @@ seen. gmtime warning still there - badword::action::block should now be ok - Added some missing /stats flags to help.conf and the /stats ? output (#0000886) reported by Rocko +- Fix for set::restrict-channelmodes (eating parameters). diff --git a/src/channel.c b/src/channel.c index 75dd349a2..82ef2f040 100644 --- a/src/channel.c +++ b/src/channel.c @@ -2224,17 +2224,6 @@ void set_mode(aChannel *chptr, aClient *cptr, int parc, char *parv[], u_int *pco for (curchr = parv[0]; *curchr; curchr++) { - if (checkrestr && strchr(RESTRICT_CHANNELMODES, *curchr)) - { - if (warnrestr) - { - sendto_one(cptr, ":%s NOTICE %s :Setting/removing of channelmode(s) '%s' has been disabled.", - me.name, cptr->name, RESTRICT_CHANNELMODES); - warnrestr = 0; - } - continue; - } - switch (*curchr) { case '+': @@ -2281,6 +2270,18 @@ void set_mode(aChannel *chptr, aClient *cptr, int parc, char *parv[], u_int *pco break; } + if (checkrestr && strchr(RESTRICT_CHANNELMODES, *curchr)) + { + if (warnrestr) + { + sendto_one(cptr, ":%s NOTICE %s :Setting/removing of channelmode(s) '%s' has been disabled.", + me.name, cptr->name, RESTRICT_CHANNELMODES); + warnrestr = 0; + } + paracount += foundat.parameters; + break; + } + #ifndef NO_OPEROVERRIDE if ((Halfop_mode(modetype) == FALSE) && opermode == 2 && htrig != 1) {