aboutsummaryrefslogtreecommitdiffstats
path: root/src/cull_list.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cull_list.cpp')
-rw-r--r--src/cull_list.cpp29
1 files changed, 10 insertions, 19 deletions
diff --git a/src/cull_list.cpp b/src/cull_list.cpp
index 9a3c088e8..2b769e893 100644
--- a/src/cull_list.cpp
+++ b/src/cull_list.cpp
@@ -33,15 +33,7 @@ void CullList::AddItem(User* user)
void CullList::MakeSilent(User* user)
{
-/* for (std::vector<CullItem *>::iterator a = list.begin(); a != list.end(); ++a)
- {
- if ((*a)->GetUser() == user)
- {
- (*a)->MakeSilent();
- break;
- }
- }
-*/
+ user->quietquit = true;
return;
}
@@ -111,18 +103,17 @@ int CullList::Apply()
{
if (IS_LOCAL(u))
{
- // XXX
- // if (!(*a)->IsSilent())
- // {
- // ServerInstance->SNO->WriteToSnoMask('q',"Client exiting: %s!%s@%s [%s]",u->nick,u->ident,u->host,oper_reason.c_str());
- // }
+ if (!u->quietquit)
+ {
+ ServerInstance->SNO->WriteToSnoMask('q',"Client exiting: %s!%s@%s [%s]",u->nick,u->ident,u->host,oper_reason.c_str());
+ }
}
else
{
- // if ((!ServerInstance->SilentULine(u->server)) && (!(*a)->IsSilent()))
- // {
+ if ((!ServerInstance->SilentULine(u->server)) && (!u->quietquit))
+ {
ServerInstance->SNO->WriteToSnoMask('Q',"Client exiting on server %s: %s!%s@%s [%s]",u->server,u->nick,u->ident,u->host,oper_reason.c_str());
- // }
+ }
}
u->AddToWhoWas();
}
@@ -136,13 +127,13 @@ int CullList::Apply()
ServerInstance->local_users.erase(x);
}
ServerInstance->clientlist->erase(iter);
- delete u;
}
- // delete *list.begin();
+ delete u;
list.erase(list.begin());
exempt.erase(exemptiter);
}
+
return n;
}