summaryrefslogtreecommitdiff
path: root/src/users.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2014-01-09 17:01:18 -0500
committerAdam <Adam@anope.org>2014-01-09 17:01:18 -0500
commit15a27c69ba35bfdf8f6a5a7bdc1e549aa00a5ac3 (patch)
tree924703927aabdd626eea4ac0b27797e2006b288b /src/users.cpp
parent0b0db75ba5b6c0380e32e7b3a620ab79baad2b27 (diff)
Move oper count and vhost stuff to set/remove mode internal
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 55a3a84ab..9256eba7b 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -463,6 +463,12 @@ void User::SetModeInternal(const MessageSource &source, UserMode *um, const Anop
this->modes[um->name] = param;
+ if (um->name == "OPER")
+ ++OperCount;
+
+ if (um->name == "CLOAK" || um->name == "VHOST")
+ this->UpdateHost();
+
FOREACH_MOD(OnUserModeSet, (source, this, um->name));
}
@@ -473,6 +479,15 @@ void User::RemoveModeInternal(const MessageSource &source, UserMode *um)
this->modes.erase(um->name);
+ if (um->name == "OPER")
+ --OperCount;
+
+ if (um->name == "CLOAK" || um->name == "VHOST")
+ {
+ this->vhost.clear();
+ this->UpdateHost();
+ }
+
FOREACH_MOD(OnUserModeUnset, (source, this, um->name));
}
@@ -592,20 +607,6 @@ void User::SetModesInternal(const MessageSource &source, const char *umodes, ...
}
else
this->RemoveModeInternal(source, um);
-
- if (um->name == "OPER")
- {
- if (add)
- ++OperCount;
- else
- --OperCount;
- }
- else if (um->name == "CLOAK" || um->name == "VHOST")
- {
- if (!add && !this->vhost.empty())
- this->vhost.clear();
- this->UpdateHost();
- }
}
}