dd: fix a printf format mismatch in an error message
authorPádraig Brady <P@draigBrady.com>
Wed, 19 Dec 2012 23:58:10 +0000 (23:58 +0000)
committerPádraig Brady <P@draigBrady.com>
Fri, 21 Dec 2012 15:57:04 +0000 (15:57 +0000)
* src/dd.c (dd_copy): To print an off_t portably we need
to use PRIdMAX and cast to intmax_t, otherwise there
could be a mismatch between say a 32 bit off_t
and uintmax_t.  This was flagged by -Wformat on
a 64 bit host when compiling with CFLAGS=-m32.

src/dd.c

index b613fcf..4e35df0 100644 (file)
--- a/src/dd.c
+++ b/src/dd.c
@@ -2130,9 +2130,9 @@ dd_copy (void)
               if (ftruncate (STDOUT_FILENO, output_offset) != 0)
                 {
                   error (0, errno,
-                         _("failed to truncate to %"PRIuMAX" bytes"
+                         _("failed to truncate to %" PRIdMAX " bytes"
                            " in output file %s"),
-                         output_offset, quote (output_file));
+                         (intmax_t) output_offset, quote (output_file));
                   return EXIT_FAILURE;
                 }
             }