From bf97df452226b93040e986c5ff92fbcdb8ef967b Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Mon, 18 Dec 2023 22:56:19 -0800 Subject: [PATCH] Don't lose precious when showing higher units https://github.com/virtualmin/virtualmin-gpl/issues/719 --- ui-lib.pl | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/ui-lib.pl b/ui-lib.pl index c8625fa1e..2ba046232 100755 --- a/ui-lib.pl +++ b/ui-lib.pl @@ -862,20 +862,13 @@ my $units = 1; if ($bytes eq '' && $defaultunits) { $units = $defaultunits; } -elsif ($bytes >= 10*1024*1024*1024*1024) { - $units = 1024*1024*1024*1024; - } -elsif ($bytes >= 10*1024*1024*1024) { - $units = 1024*1024*1024; - } -elsif ($bytes >= 10*1024*1024) { - $units = 1024*1024; - } -elsif ($bytes >= 10*1024) { - $units = 1024; - } else { - $units = 1; + for(my $i=1; $i<=4; $i++) { + my $u = 1024**$i; + if ($bytes % $u == 0) { + $units = $u; + } + } } if ($bytes ne "") { $bytes = sprintf("%.2f", ($bytes*1.0)/$units);