mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 16:50:24 +00:00
Simpler code to support fractional units
This commit is contained in:
18
ui-lib.pl
18
ui-lib.pl
@@ -865,26 +865,12 @@ if ($bytes eq '' && $defaultunits) {
|
||||
$units = $defaultunits;
|
||||
}
|
||||
else {
|
||||
my @units_solid;
|
||||
for(my $i=1; $i<=4; $i++) {
|
||||
my $u = $unit**$i;
|
||||
if ($bytes >= $u) {
|
||||
my $u = 1024**$i;
|
||||
if ($bytes*4 % $u == 0) {
|
||||
$units = $u;
|
||||
if ($bytes % $u == 0 && $bytes/$u <= $u) {
|
||||
push(@units_solid,
|
||||
{ units => $units,
|
||||
size => $bytes/$u });
|
||||
}
|
||||
}
|
||||
}
|
||||
if (@units_solid) {
|
||||
@units_solid = sort { $a->{'size'} <=> $b->{'size'} } @units_solid;
|
||||
my $fsz = $bytes/$units;
|
||||
my $fraction = $fsz - int($fsz);
|
||||
my $decimal_nice =
|
||||
$fraction == 0 || $fraction == 0.25 || $fraction == 0.5 || $fraction == 0.75;
|
||||
$units = $units_solid[0]->{'units'} if (!($fsz =~ /\./ && $decimal_nice));
|
||||
}
|
||||
}
|
||||
if ($bytes ne "") {
|
||||
$bytes = sprintf("%.2f", ($bytes*1.0)/$units);
|
||||
|
||||
Reference in New Issue
Block a user