aboutsummaryrefslogtreecommitdiff
path: root/src/frontend_common/data_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend_common/data_manager.cpp')
-rw-r--r--src/frontend_common/data_manager.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/frontend_common/data_manager.cpp b/src/frontend_common/data_manager.cpp
index 1df828d028..e5f376720b 100644
--- a/src/frontend_common/data_manager.cpp
+++ b/src/frontend_common/data_manager.cpp
@@ -49,16 +49,13 @@ u64 ClearDir(DataDir dir, const std::string &user_id)
return result;
}
-const std::string ReadableBytesSize(u64 size)
-{
- static constexpr std::array units{"B", "KiB", "MiB", "GiB", "TiB", "PiB"};
- if (size == 0) {
+std::string ReadableBytesSize(u64 size) noexcept {
+ std::array<std::string_view, 6> const units{"B", "KB", "MB", "GB", "TB", "PB"};
+ u64 const base = 1000;
+ if (size == 0)
return "0 B";
- }
-
- const int digit_groups = (std::min) (static_cast<int>(std::log10(size) / std::log10(1024)),
- static_cast<int>(units.size()));
- return fmt::format("{:.1f} {}", size / std::pow(1024, digit_groups), units[digit_groups]);
+ auto const digit_groups = std::min<u64>(u64(std::log10(size) / std::log10(base)), u64(units.size()));
+ return fmt::format("{:.1f} {}", size / std::pow(base, digit_groups), units[digit_groups]);
}
u64 DataDirSize(DataDir dir)