diff options
author | Adam <Adam@anope.org> | 2014-01-09 17:01:18 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-01-09 17:01:18 -0500 |
commit | 15a27c69ba35bfdf8f6a5a7bdc1e549aa00a5ac3 (patch) | |
tree | 924703927aabdd626eea4ac0b27797e2006b288b /src/users.cpp | |
parent | 0b0db75ba5b6c0380e32e7b3a620ab79baad2b27 (diff) |
Move oper count and vhost stuff to set/remove mode internal
Diffstat (limited to 'src/users.cpp')
-rw-r--r-- | src/users.cpp | 29 |
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(); - } } } |