summaryrefslogtreecommitdiff
path: root/src/cull_list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cull_list.cpp')
-rw-r--r--src/cull_list.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/cull_list.cpp b/src/cull_list.cpp
index a911cbc78..74400ef1b 100644
--- a/src/cull_list.cpp
+++ b/src/cull_list.cpp
@@ -84,20 +84,17 @@ bool CullList::IsValid(userrec* user)
CullItem::CullItem(userrec* u, std::string &r)
{
this->user = u;
- this->reason = strdup(r.c_str());
+ this->reason = r;
}
CullItem::CullItem(userrec* u, const char* r)
{
this->user = u;
- this->reason = strdup(r);
+ this->reason = r;
}
CullItem::~CullItem()
{
- if (reason)
- free(reason);
- reason = NULL;
}
userrec* CullItem::GetUser()
@@ -105,7 +102,7 @@ userrec* CullItem::GetUser()
return this->user;
}
-const char* CullItem::GetReason()
+std::string& CullItem::GetReason()
{
return this->reason;
}
@@ -152,7 +149,7 @@ int CullList::Apply()
*/
if (IsValid(u))
{
- kill_link(u,a->GetReason());
+ kill_link(u,a->GetReason().c_str());
list.erase(list.begin());
/* So that huge numbers of quits dont block,
* we yield back to our mainloop every 15