aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/treeserver.cpp
diff options
context:
space:
mode:
authorGravatar Attila Molnar2014-01-05 14:17:12 +0100
committerGravatar Attila Molnar2014-01-05 14:17:12 +0100
commitd736eba00b274c87662bd73a3acf8288135643d6 (patch)
tree7a23e24f95e6f5b26610d83957a4198bf5f16ed0 /src/modules/m_spanningtree/treeserver.cpp
parentChange type of snomask parameter to char in ProtocolInterface::SendSNONotice() (diff)
Improve UserManager::QuitUser() and related code
- Make operreason optional; NULL means same as quitreason - Remove User::quietquit, it is now handled internally in spanningtree - Send snotice about quitting remote users from spanningtree
Diffstat (limited to 'src/modules/m_spanningtree/treeserver.cpp')
-rw-r--r--src/modules/m_spanningtree/treeserver.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/modules/m_spanningtree/treeserver.cpp b/src/modules/m_spanningtree/treeserver.cpp
index 8af3e777d..2fce9a504 100644
--- a/src/modules/m_spanningtree/treeserver.cpp
+++ b/src/modules/m_spanningtree/treeserver.cpp
@@ -139,7 +139,7 @@ void TreeServer::FinishBurst()
int TreeServer::QuitUsers(const std::string &reason)
{
- const char* reason_s = reason.c_str();
+ std::string publicreason = ServerInstance->Config->HideSplits ? "*.net *.split" : reason;
std::vector<User*> time_to_die;
for (user_hash::iterator n = ServerInstance->Users->clientlist->begin(); n != ServerInstance->Users->clientlist->end(); n++)
{
@@ -153,13 +153,7 @@ int TreeServer::QuitUsers(const std::string &reason)
User* a = (User*)*n;
if (!IS_LOCAL(a))
{
- if (Utils->quiet_bursts)
- a->quietquit = true;
-
- if (ServerInstance->Config->HideSplits)
- ServerInstance->Users->QuitUser(a, "*.net *.split", reason_s);
- else
- ServerInstance->Users->QuitUser(a, reason_s);
+ ServerInstance->Users->QuitUser(a, publicreason, &reason);
}
}
return time_to_die.size();