summaryrefslogtreecommitdiff
path: root/src/modules/m_httpd_stats.cpp
diff options
context:
space:
mode:
authorGravatar brain2006-12-14 17:46:47 +0000
committerGravatar brain2006-12-14 17:46:47 +0000
commita78cecbeb9c677bdd4b2f44c01195759af63485b (patch)
tree03b0a71514c6e0dcf6eec78eefe160a2ea7f8b47 /src/modules/m_httpd_stats.cpp
parentRefactoring: (diff)
Refactor userrec::chans.
Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op]) This increases speed a ton, and removes some wtf-age. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_httpd_stats.cpp')
-rw-r--r--src/modules/m_httpd_stats.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp
index eda5b6f66..fb5499c2d 100644
--- a/src/modules/m_httpd_stats.cpp
+++ b/src/modules/m_httpd_stats.cpp
@@ -212,16 +212,13 @@ class ModuleHttpStats : public Module
void OnUserQuit(userrec* user, const std::string &message)
{
- for (std::vector<ucrec*>::const_iterator v = user->chans.begin(); v != user->chans.end(); v++)
+ for (UCListIter v = user->chans.begin(); v != user->chans.end(); v++)
{
- if (((ucrec*)(*v))->channel)
+ chanrec* c = v->first;
+ StatsIter a = sh->find(c->name);
+ if (a != sh->end())
{
- chanrec* c = ((ucrec*)(*v))->channel;
- StatsIter a = sh->find(c->name);
- if (a != sh->end())
- {
- a->second--;
- }
+ a->second--;
}
}
this->changed = true;