diff options
| author | 2025-01-25 22:00:14 +0000 | |
|---|---|---|
| committer | 2025-01-25 22:28:10 +0000 | |
| commit | 1d96b3cc5df0c8d21a2b65e79557e905a6eb8a96 (patch) | |
| tree | 597a7fd6a14c58c907f0741f952c05cb6959c5b6 /src | |
| parent | When removing a list mode update the parameter to the actual entry. (diff) | |
Clean up core_lusers.
Diffstat (limited to 'src')
| -rw-r--r-- | src/coremods/core_lusers.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/coremods/core_lusers.cpp b/src/coremods/core_lusers.cpp index 7ffc8aac0..867b9e3cb 100644 --- a/src/coremods/core_lusers.cpp +++ b/src/coremods/core_lusers.cpp @@ -84,25 +84,23 @@ public: CmdResult CommandLusers::Handle(User* user, const Params& parameters) { - size_t n_users = ServerInstance->Users.GlobalUserCount(); ProtocolInterface::ServerList serverlist; ServerInstance->PI->GetServerList(serverlist); - size_t n_serv = serverlist.size(); - size_t n_local_servs = 0; + + // If spanningtree is not loaded GetServerList does nothing. + size_t global_servers = std::max<size_t>(serverlist.size(), 1); + size_t local_servers = 0; for (const auto& server : serverlist) { if (server.parentname == ServerInstance->Config->ServerName) - n_local_servs++; + local_servers++; } - // fix for default GetServerList not returning us - if (!n_serv) - n_serv = 1; counters.UpdateMaxUsers(); user->WriteNumeric(RPL_LUSERCLIENT, INSP_FORMAT("There are {} users and {} invisible on {} servers", - n_users - counters.invisible, counters.invisible, n_serv)); + ServerInstance->Users.GlobalUserCount() - counters.invisible, counters.invisible, global_servers)); size_t opercount = ServerInstance->Users.all_opers.size(); if (opercount) @@ -112,9 +110,9 @@ CmdResult CommandLusers::Handle(User* user, const Params& parameters) user->WriteNumeric(RPL_LUSERUNKNOWN, ServerInstance->Users.UnknownUserCount(), "unknown connections"); user->WriteNumeric(RPL_LUSERCHANNELS, ServerInstance->Channels.GetChans().size(), "channels formed"); - user->WriteNumeric(RPL_LUSERME, INSP_FORMAT("I have {} clients and {} servers", ServerInstance->Users.LocalUserCount(), n_local_servs)); + user->WriteNumeric(RPL_LUSERME, INSP_FORMAT("I have {} clients and {} servers", ServerInstance->Users.LocalUserCount(), local_servers)); user->WriteNumeric(RPL_LOCALUSERS, INSP_FORMAT("Current local users: {} Max: {}", ServerInstance->Users.LocalUserCount(), counters.max_local)); - user->WriteNumeric(RPL_GLOBALUSERS, INSP_FORMAT("Current global users: {} Max: {}", n_users, counters.max_global)); + user->WriteNumeric(RPL_GLOBALUSERS, INSP_FORMAT("Current global users: {} Max: {}", ServerInstance->Users.GlobalUserCount(), counters.max_global)); return CmdResult::SUCCESS; } |
