X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fchannel.c;h=0aa8da8650b4f73dc2e7318fb4301d4da07af950;hb=592e569802dbc1d90a0095d6f8fed409d6bf8c39;hp=0e8ba0178e2a09c3a6e8237fef2e969e3e3425c1;hpb=d6cbb59fb3d36f3c9322f20638d1710144907aab;p=ircu2.10.12-pk.git diff --git a/ircd/channel.c b/ircd/channel.c index 0e8ba01..0aa8da8 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -711,7 +711,7 @@ int client_can_send_to_channel(struct Client *cptr, struct Channel *chptr) /* * find_no_nickchange_channel - * if a member and not opped or voiced and banned + * if a member and not (opped or voiced) and (banned or moderated) * return the name of the first channel banned on */ const char* find_no_nickchange_channel(struct Client* cptr) @@ -720,7 +720,9 @@ const char* find_no_nickchange_channel(struct Client* cptr) struct Membership* member; for (member = (cli_user(cptr))->channel; member; member = member->next_channel) { - if (!IsVoicedOrOpped(member) && is_banned(cptr, member->channel, member)) + if (!IsVoicedOrOpped(member) && + (is_banned(cptr, member->channel, member) || + (member->channel->mode.mode & MODE_MODERATED))) return member->channel->chname; } }