aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorGravatar brain2007-08-27 11:43:12 +0000
committerGravatar brain2007-08-27 11:43:12 +0000
commit1c5e9d246a4990eed062d879276b1844526a04ef (patch)
treef87579a5d9ef656a755b74058a69e0e8a035d5b0 /src/inspircd.cpp
parentA few tidyups, and comment how the new constructors work (so that w00t doesnt... (diff)
Add uuid hash_map - its management is automatic via userrec constructors/destructors.
Note that this means 'fake' users used to set modes etc get a uid, but this isnt a major thing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7876 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 995f62f1b..bfd7a9d45 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -165,9 +165,11 @@ void InspIRCd::ResetMaxBans()
void InspIRCd::RehashUsersAndChans()
{
user_hash* old_users = this->clientlist;
+ user_hash* old_uuid = this->uuidlist;
chan_hash* old_chans = this->chanlist;
this->clientlist = new user_hash();
+ this->uuidlist = new user_hash();
this->chanlist = new chan_hash();
for (user_hash::const_iterator n = old_users->begin(); n != old_users->end(); n++)
@@ -175,6 +177,11 @@ void InspIRCd::RehashUsersAndChans()
delete old_users;
+ for (user_hash::const_iterator n = old_uuid->begin(); n != old_uuid->end(); n++)
+ this->uuidlist->insert(*n);
+
+ delete old_uuid;
+
for (chan_hash::const_iterator n = old_chans->begin(); n != old_chans->end(); n++)
this->chanlist->insert(*n);
@@ -316,6 +323,7 @@ InspIRCd::InspIRCd(int argc, char** argv)
this->unregistered_count = 0;
this->clientlist = new user_hash();
+ this->uuidlist = new user_hash();
this->chanlist = new chan_hash();
this->Config = new ServerConfig(this);