diff options
Diffstat (limited to 'src/channels.c')
-rw-r--r-- | src/channels.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/channels.c b/src/channels.c index 7836f670d..3dafaf233 100644 --- a/src/channels.c +++ b/src/channels.c @@ -305,11 +305,13 @@ void chan_set_user_status(Channel * chan, User * user, int16 status) { struct u_chanlist *uc; - if (HelpChannel && status == CUS_OP + if (HelpChannel + && (status == CUS_OP || status == (CUS_PROTECT | CUS_OP) + || status == (CUS_OWNER | CUS_OP)) && !stricmp(chan->name, HelpChannel)) { if (debug) { - alog("debug: %s being given +h for being a OP in %s", - user->nick, chan->name); + alog("debug: %s being given +h for having %d status in %s", + user->nick, status, chan->name); } common_svsmode(user, "+h", NULL); } |