ServerInstance->Logs->Log("USERS", DEBUG, "QuitUser: %s '%s'", 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());
- user->quietquit = false;
- user->quitmsg = quitreason;
-
std::string reason;
std::string oper_reason;
reason.assign(quitreason, 0, ServerInstance->Config->Limits.MaxQuit);
- if (!*operreason)
- {
- user->operquitmsg = quitreason;
- oper_reason.assign(quitreason, 0, ServerInstance->Config->Limits.MaxQuit);
- }
- else
- {
- user->operquitmsg = operreason;
+ if (operreason && *operreason)
oper_reason.assign(operreason, 0, ServerInstance->Config->Limits.MaxQuit);
- }
+ else
+ oper_reason = quitreason;
ServerInstance->GlobalCulls.AddItem(user);
if (!user->quietquit)
{
ServerInstance->SNO->WriteToSnoMask('q',"Client exiting: %s!%s@%s [%s]",
- user->nick.c_str(), user->ident.c_str(), user->host.c_str(), user->operquitmsg.c_str());
+ user->nick.c_str(), user->ident.c_str(), user->host.c_str(), oper_reason.c_str());
}
}
else
if ((!ServerInstance->SilentULine(user->server)) && (!user->quietquit))
{
ServerInstance->SNO->WriteToSnoMask('Q',"Client exiting on server %s: %s!%s@%s [%s]",
- user->server, user->nick.c_str(), user->ident.c_str(), user->host.c_str(), user->operquitmsg.c_str());
+ user->server, user->nick.c_str(), user->ident.c_str(), user->host.c_str(), oper_reason.c_str());
}
}
user->AddToWhoWas();