diff options
author | Attila Molnar <attilamolnar@hush.com> | 2014-03-14 13:04:10 +0100 |
---|---|---|
committer | Attila Molnar <attilamolnar@hush.com> | 2014-03-14 13:04:10 +0100 |
commit | adb26a4e882d317de4e4135f414b7002cafe07a4 (patch) | |
tree | def07b4f4a086b1024e3a07c550b0b795a0559c5 /src | |
parent | da45f24ff1ab4fbac1b674c820796e9b3850a380 (diff) |
Change allocation of UserManager::uuidlist to be physically part of the object containing it
Diffstat (limited to 'src')
-rw-r--r-- | src/helperfuncs.cpp | 4 | ||||
-rw-r--r-- | src/usermanager.cpp | 4 | ||||
-rw-r--r-- | src/users.cpp | 6 |
3 files changed, 6 insertions, 8 deletions
diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 850eaf4c0..567806efc 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -59,9 +59,9 @@ User* InspIRCd::FindNickOnly(const std::string &nick) User *InspIRCd::FindUUID(const std::string &uid) { - user_hash::iterator finduuid = this->Users->uuidlist->find(uid); + user_hash::iterator finduuid = this->Users->uuidlist.find(uid); - if (finduuid == this->Users->uuidlist->end()) + if (finduuid == this->Users->uuidlist.end()) return NULL; return finduuid->second; diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 12db0dde2..2a9f02cfd 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -27,7 +27,6 @@ UserManager::UserManager() : clientlist(new user_hash) - , uuidlist(new user_hash) , unregistered_count(0) { } @@ -40,7 +39,6 @@ UserManager::~UserManager() } delete clientlist; - delete uuidlist; } /* add a client connection to the sockets list */ @@ -208,7 +206,7 @@ void UserManager::QuitUser(User* user, const std::string& quitreason, const std: else ServerInstance->Logs->Log("USERS", LOG_DEFAULT, "ERROR: Nick not found in clientlist, cannot remove: " + user->nick); - uuidlist->erase(user->uuid); + uuidlist.erase(user->uuid); user->PurgeEmptyChannels(); } diff --git a/src/users.cpp b/src/users.cpp index 1c13ac4ef..e760a3fbc 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -79,7 +79,7 @@ User::User(const std::string& uid, Server* srv, int type) ServerInstance->Logs->Log("USERS", LOG_DEBUG, "New UUID for user: %s", uuid.c_str()); - if (!ServerInstance->Users->uuidlist->insert(std::make_pair(uuid, this)).second) + if (!ServerInstance->Users->uuidlist.insert(std::make_pair(uuid, this)).second) throw CoreException("Duplicate UUID "+std::string(uuid)+" in User constructor"); } @@ -100,7 +100,7 @@ LocalUser::LocalUser(int myfd, irc::sockets::sockaddrs* client, irc::sockets::so User::~User() { - if (ServerInstance->Users->uuidlist->find(uuid) != ServerInstance->Users->uuidlist->end()) + if (ServerInstance->FindUUID(uuid)) ServerInstance->Logs->Log("USERS", LOG_DEFAULT, "User destructor for %s called without cull", uuid.c_str()); } @@ -344,7 +344,7 @@ CullResult FakeUser::cull() // Fake users don't quit, they just get culled. quitting = true; // Fake users are not inserted into UserManager::clientlist, they're only in the uuidlist - ServerInstance->Users->uuidlist->erase(uuid); + ServerInstance->Users->uuidlist.erase(uuid); return User::cull(); } |