diff options
| author | 2014-01-05 14:17:12 +0100 | |
|---|---|---|
| committer | 2014-01-05 14:17:12 +0100 | |
| commit | d736eba00b274c87662bd73a3acf8288135643d6 (patch) | |
| tree | 7a23e24f95e6f5b26610d83957a4198bf5f16ed0 /src/modules/m_spanningtree/treeserver.cpp | |
| parent | Change 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.cpp | 10 |
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(); |
