From 5c9442d7db6e53cac73166e97cc8a7779e283acc Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 20 May 2026 17:49:02 +0100 Subject: Add a helper function for calculating a percentage. --- modules/spanningtree/override_map.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'modules/spanningtree/override_map.cpp') diff --git a/modules/spanningtree/override_map.cpp b/modules/spanningtree/override_map.cpp index aa3b542e6..f3031473d 100644 --- a/modules/spanningtree/override_map.cpp +++ b/modules/spanningtree/override_map.cpp @@ -27,6 +27,7 @@ #include "inspircd.h" #include "timeutils.h" +#include "utility/numeric.h" #include "main.h" #include "utils.h" @@ -70,15 +71,6 @@ static void GetDepthAndLen(TreeServer* current, unsigned int depth, unsigned int static std::vector GetMap(User* user, TreeServer* current, size_t max_len, size_t max_version_len, unsigned int depth) { - float percent = 0; - - const UserMap& users = ServerInstance->Users.GetUsers(); - if (!users.empty()) - { - // If there are no users, WHO THE HELL DID THE /MAP?!?!?! - percent = current->UserCount * 100.0 / users.size(); - } - std::string buffer = current->GetName(); if (user->IsOper()) { @@ -95,6 +87,7 @@ static std::vector GetMap(User* user, TreeServer* current, size_t m // Pad with spaces until its at max len, max_len must always be >= my names length buffer.append(max_len - current->GetName().length(), ' '); + const auto percent = insp::percentage(current->UserCount, ServerInstance->Users.GetUsers().size()); buffer += FMT::format("{:5} [{:5.2f}%]", current->UserCount, percent); if (user->IsOper()) -- cgit v1.3.1-10-gc9f91