From 8aa7fbe0eacc7c0aec682029ef479ca55832a534 Mon Sep 17 00:00:00 2001 From: Adam- Date: Thu, 29 Apr 2010 23:05:09 +0000 Subject: [PATCH] Properly track users who join channels using an exception git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2920 5417fbe8-f217-4b02-8779-1006273d7864 --- src/regchannel.cpp | 7 ++----- 1 file 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) {