]> git.pond.sub.org Git - empserver/commitdiff
(out5): Rev. 1.36. didn't fully fix the format conditional.
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 23 Sep 2006 15:47:40 +0000 (15:47 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 23 Sep 2006 15:47:40 +0000 (15:47 +0000)
Fold negative cases into positive ones.

src/lib/commands/powe.c

index 5a77aa16c06b4add2ff947030891544a2ae1cb57..8687b72069b953a5461eed048902bb6e219e1211 100644 (file)
@@ -36,6 +36,7 @@
 
 #include <config.h>
 
+#include <math.h>
 #ifdef _WIN32
 #include <io.h>
 #endif
@@ -172,23 +173,20 @@ prpower(char *name, struct powstr *pow, int round_flag)
 static void
 out5(double value, int round_val, int round_flag)
 {
+    double aval;
+
     if (value > round_val && round_flag)
        value = (int)(value / round_val + 0.5) * round_val;
-    if (value < -9999.5e3)
-       pr("%4.0fM", value / 1e6);
-    else if (value < -9950.)
-       pr("%4.0fK", value / 1000.);
-    else if (value < -999.)
-       pr("%4.1fK", value / 1000.);
-    else if (value < 1000.)
+    aval = fabs(value);
+    if (aval < 1000.)
        pr("%4.0f ", value);
-    else if (value < 9.95e3)
-       pr("%4.1fK", value / 1000.);
-    else if (value < 9999.5e3)
-       pr("%4.0fK", value / 1000.);
-    else if (value < 9.95e6)
+    else if (aval < 9.95e3)
+       pr("%4.1fK", value / 1e3);
+    else if (aval < 999.5e3)
+       pr("%4.0fK", value / 1e3);
+    else if (aval < 9.95e6)
        pr("%4.1fM", value / 1e6);
-    else if (value < 9999.5e6)
+    else if (aval < 999.5e6)
        pr("%4.0fM", value / 1e6);
     else
        pr("%4.0fG", value / 1e9);