From 1026613366babeebc34f358d1af625207dab3b3e Mon Sep 17 00:00:00 2001 From: pk910 Date: Mon, 18 Jul 2011 23:42:18 +0200 Subject: [PATCH] allow MODE_PARSE_FOCE flag overriding target channel check on MODE_FORWARD (srvx should be able to use it's own conditions) --- ircd/channel.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ircd/channel.c b/ircd/channel.c index 8c6e38e..30b9f1d 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -2537,15 +2537,17 @@ mode_parse_altchan(struct ParseState *state, ulong64 *flag_p) if (!IsChannelName(t_str) || !strIsIrcCh(t_str) || strlen(t_str) > IRCD_MIN(CHANNELLEN, feature_int(FEAT_CHANNELLEN)) || t_str[0] == '&') /* only parse it if it's a valid channel name! */ return; - struct Channel *chptr; - struct Membership *member; - if (!(chptr = FindChannel(t_str))) + if(!(state->flags & MODE_PARSE_FORCE)) { + struct Channel *chptr; + struct Membership *member; + if (!(chptr = FindChannel(t_str))) return; - if(!(member = find_member_link(chptr, state->sptr))) + if(!(member = find_member_link(chptr, state->sptr))) return; - if(!IsChanOp(member)) { + if(!IsChanOp(member)) { send_notoper(state); return; + } } if (!(state->flags & MODE_PARSE_WIPEOUT) && -- 2.20.1