summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cull_list.cpp5
-rw-r--r--src/usermanager.cpp2
-rw-r--r--src/users.cpp1
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)
{