diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/regchannel.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/regchannel.cpp b/src/regchannel.cpp index 582266956..97251b977 100644 --- a/src/regchannel.cpp +++ b/src/regchannel.cpp @@ -581,11 +581,8 @@ bool ChannelInfo::CheckKick(User *user) if (is_ulined(user->server->name)) return false; - if (this->HasFlag(CI_SUSPENDED) || this->HasFlag(CI_FORBIDDEN)) + if (!is_oper(user) && (this->HasFlag(CI_SUSPENDED) || this->HasFlag(CI_FORBIDDEN))) { - if (is_oper(user)) - return 0; - get_idealban(this, user, mask, sizeof(mask)); reason = this->forbidreason ? this->forbidreason : getstring(user, CHAN_MAY_NOT_BE_USED); set_modes = true; @@ -598,7 +595,7 @@ bool ChannelInfo::CheckKick(User *user) nc = NULL; if (!do_kick && ModeManager::FindChannelModeByName(CMODE_EXCEPT) && is_excepted(this, user) == 1) - return true; + return false; for (unsigned j = 0; j < this->GetAkickCount(); ++j) { |