From c5a6160798f51500212e5325250265d3a511e118 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 21 Sep 2007 16:17:39 +0000 Subject: simplify handling negative numbers --- perl-install/common.pm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'perl-install/common.pm') diff --git a/perl-install/common.pm b/perl-install/common.pm index cb040772a..452e9ab37 100644 --- a/perl-install/common.pm +++ b/perl-install/common.pm @@ -131,22 +131,24 @@ sub removeXiBSuffix { sub formatXiB { my ($newnb, $o_newbase) = @_; my $newbase = $o_newbase || 1; + my $sign = $newnb < 0 ? -1 : 1; + $newnb = abs($newnb); my ($nb, $base); my $decr = sub { ($nb, $base) = ($newnb, $newbase); - abs($base) >= 1024 ? ($newbase = $base / 1024) : ($newnb = $nb / 1024); + $base >= 1024 ? ($newbase = $base / 1024) : ($newnb = $nb / 1024); }; my $suffix; foreach (N("B"), N("KB"), N("MB"), N("GB"), N("TB")) { $decr->(); - if (abs($newnb) < 1 && abs($newnb * $newbase) < 1) { + if ($newnb < 1 && $newnb * $newbase < 1) { $suffix = $_; last; } } my $v = $nb * $base; my $s = $v < 10 && int(10 * $v - 10 * int($v)); - int($v) . ($s ? "." . abs($s) : '') . ($suffix || N("TB")); + int($v * $sign) . ($s ? "." . abs($s) : '') . ($suffix || N("TB")); } sub formatTime { -- cgit v1.2.1