diff options
-rw-r--r-- | src/cull_list.cpp | 5 | ||||
-rw-r--r-- | src/usermanager.cpp | 2 | ||||
-rw-r--r-- | src/users.cpp | 1 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/cull_list.cpp b/src/cull_list.cpp index 35fa44bfa..c45dff46c 100644 --- a/src/cull_list.cpp +++ b/src/cull_list.cpp @@ -18,12 +18,13 @@ void CullList::Apply() { - for(std::set<classbase*>::iterator i = list.begin(); i != list.end(); i++) + std::vector<classbase*> todel(list.begin(), list.end()); + list.clear(); + for(std::vector<classbase*>::iterator i = todel.begin(); i != todel.end(); i++) { classbase* c = *i; c->cull(); delete c; } - list.clear(); } diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 6d04bdff7..15196ac69 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -179,7 +179,7 @@ void UserManager::QuitUser(User *user, const std::string &quitreason, const char user->quitting = true; - ServerInstance->Logs->Log("USERS", DEBUG, "QuitUser: %s '%s'", user->nick.c_str(), quitreason.c_str()); + ServerInstance->Logs->Log("USERS", DEBUG, "QuitUser: %s=%s '%s'", user->uuid.c_str(), user->nick.c_str(), quitreason.c_str()); user->Write("ERROR :Closing link: (%s@%s) [%s]", user->ident.c_str(), user->host.c_str(), *operreason ? operreason : quitreason.c_str()); std::string reason; diff --git a/src/users.cpp b/src/users.cpp index 5d6b1a01a..b63350386 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -235,6 +235,7 @@ User::User(InspIRCd* Instance, const std::string &uid) User::~User() { + ServerInstance->Logs->Log("USERS", DEBUG, "User destructor for %s", uuid.c_str()); /* NULL for remote users :) */ if (this->MyClass) { |