diff options
Diffstat (limited to 'src/s_user.c')
-rw-r--r-- | src/s_user.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/s_user.c b/src/s_user.c index 97ad2c1..e40f2d1 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -1087,6 +1087,9 @@ user_set_hostmask(struct Client *target_p, const char *hostname, const int what) clear_ban_cache_client(target_p); } + if (!ConfigFileEntry.cycle_on_host_change) + return; + DLINK_FOREACH(ptr, target_p->channel.head) { char modebuf[4], nickbuf[NICKLEN * 3 + 3] = { '\0' }; @@ -1094,17 +1097,20 @@ user_set_hostmask(struct Client *target_p, const char *hostname, const int what) int len = 0; const struct Membership *ms = ptr->data; - if (has_member_flags(ms, CHFL_CHANOP)) { + if (has_member_flags(ms, CHFL_CHANOP)) + { *p++ = 'o'; len += snprintf(nickbuf + len, sizeof(nickbuf) - len, len ? " %s" : "%s", target_p->name); } - if (has_member_flags(ms, CHFL_HALFOP)) { + if (has_member_flags(ms, CHFL_HALFOP)) + { *p++ = 'h'; len += snprintf(nickbuf + len, sizeof(nickbuf) - len, len ? " %s" : "%s", target_p->name); } - if (has_member_flags(ms, CHFL_VOICE)) { + if (has_member_flags(ms, CHFL_VOICE)) + { *p++ = 'v'; len += snprintf(nickbuf + len, sizeof(nickbuf) - len, len ? " %s" : "%s", target_p->name); } |