From: Assaf Gordon Date: Mon, 29 Jun 2015 11:54:41 +0000 (+0100) Subject: numfmt: fix printf argument order X-Git-Tag: v8.24~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=badecb3f6ce21e9ad12402d4dd96d9a532499710;p=thirdparty%2Fcoreutils.git numfmt: fix printf argument order * 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/ --- diff --git a/src/numfmt.c b/src/numfmt.c index 4af16faea0..09cdd422f1 100644 --- a/src/numfmt.c +++ b/src/numfmt.c @@ -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,