summaryrefslogtreecommitdiff
path: root/src/users.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-03 20:58:21 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-01-03 20:58:21 +0000
commit2802a62272f4295ecc3bd73a44950749e8b96877 (patch)
tree05e5e96e2894fea4943d087ff165fc981d73b838 /src/users.cpp
parentc218d8091fd673632e0bae5f416d523b81100904 (diff)
Fix lusers breakage introduced by latest set of optimizations
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6219 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/users.cpp b/src/users.cpp
index b4f25a75e..c01c4e4b6 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -289,6 +289,19 @@ const char* userrec::FormatModes()
return data;
}
+void userrec::DecrementModes()
+{
+ for (int n = 0; n < 64; n++)
+ {
+ if (modes[n])
+ {
+ ModeHandler* mh = ServerInstance->Modes->FindMode(n+65, MODETYPE_USER);
+ if (mh)
+ mh->ChangeCount(-1);
+ }
+ }
+}
+
userrec::userrec(InspIRCd* Instance) : ServerInstance(Instance)
{
ServerInstance->Log(DEBUG,"userrec::userrec(): Instance: %08x",ServerInstance);
@@ -317,7 +330,7 @@ userrec::userrec(InspIRCd* Instance) : ServerInstance(Instance)
userrec::~userrec()
{
this->InvalidateCache();
-
+ this->DecrementModes();
if (ip)
{
clonemap::iterator x = ServerInstance->local_clones.find(this->GetIPString());