summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-04-29 23:05:09 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2010-04-29 23:05:09 +0000
commit8aa7fbe0eacc7c0aec682029ef479ca55832a534 (patch)
tree00d84ac20cb23aa96e3782b98a8b29b4d99971ed /src
parent7fc9b4f943c944cc54be86b4228c74d85f5336c3 (diff)
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
Diffstat (limited to 'src')
-rw-r--r--src/regchannel.cpp7
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)
{