(human_readable): Fix bug that rounded 10501 to 10k.
authorJim Meyering <jim@meyering.net>
Wed, 3 Sep 2003 20:30:25 +0000 (20:30 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 3 Sep 2003 20:30:25 +0000 (20:30 +0000)
Bug reported by Lute Kamstra in
<http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.

lib/human.c

index a838e8c..285e4fd 100644 (file)
@@ -355,11 +355,9 @@ human_readable (uintmax_t n, char *buf, int opts,
          }
       }
 
-    if (inexact_style == human_ceiling
-       ? 0 < tenths + rounding
-       : inexact_style == human_round_to_nearest
-       ? 5 < tenths + (2 < rounding + (amt & 1))
-       : /* inexact_style == human_floor */ 0)
+    if (inexact_style == human_round_to_nearest
+       ? 5 < tenths + (0 < rounding + (amt & 1))
+       : inexact_style == human_ceiling && 0 < tenths + rounding)
       {
        amt++;