summaryrefslogtreecommitdiff
path: root/src/channels.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/channels.c')
-rw-r--r--src/channels.c8
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);
}