]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(get_width_format): Fix portability problem with `-0' vs. `0'.
authorJim Meyering <jim@meyering.net>
Wed, 1 Mar 2000 12:31:16 +0000 (12:31 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 1 Mar 2000 12:31:16 +0000 (12:31 +0000)
src/seq.c

index f8b7205e2ad6cb1db9441365576da5cec5499088..665461d5891d98283bbeb9a40ea83e9b3a14c0b8 100644 (file)
--- a/src/seq.c
+++ b/src/seq.c
@@ -260,10 +260,13 @@ get_width_format ()
 
   if (min_val < 0.0)
     {
-      sprintf (buffer, "%g", rint (min_val));
+      double int_min_val = rint (min_val);
+      sprintf (buffer, "%g", int_min_val);
       if (buffer[strspn (buffer, "-0123456789")] != '\0')
        return "%g";
-      width2 = strlen (buffer);
+      /* On some systems, `seq -w -.1 .1 .1' results in buffer being `-0'.
+        On others, it is just `0'.  The former results in better output.  */
+      width2 = (int_min_val == 0 ? 2 : strlen (buffer));
 
       width1 = width1 > width2 ? width1 : width2;
     }