]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
numfmt: fix printf argument order
authorAssaf Gordon <assafgordon@gmail.com>
Mon, 29 Jun 2015 11:54:41 +0000 (12:54 +0100)
committerPádraig Brady <P@draigBrady.com>
Mon, 29 Jun 2015 11:59:19 +0000 (12:59 +0100)
* src/numfmt.c (double_to_human): Fix the argument order
passed to snprintf, which happened to work on amd64 with
its separate va_arg storage area for floats¹,
but would fail tests for example on i686.

¹ https://blog.nelhage.com/2010/10/amd64-and-va_arg/

src/numfmt.c

index 4af16faea089c919558e515482b35dd1fd6ac6cc..09cdd422f194435f2af92f8fce62ec4bb7b053b1 100644 (file)
@@ -794,7 +794,7 @@ double_to_human (long double val, int precision,
   int prec = user_precision == -1 ? show_decimal_point : user_precision;
 
   /* buf_size - 1 used here to ensure place for possible scale_IEC_I suffix.  */
-  num_size = snprintf (buf, buf_size - 1, fmt, val, prec,
+  num_size = snprintf (buf, buf_size - 1, fmt, prec, val,
                        suffix_power_char (power));
   if (num_size < 0 || num_size >= (int) buf_size - 1)
     error (EXIT_FAILURE, 0,