From: Pádraig Brady
Date: Thu, 26 Jun 2008 10:10:13 +0000 (+0100) Subject: truncate: Fix integer portability issues X-Git-Tag: v7.0~147 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e2dbcee444e90e4289bd4bdc36783a5ef00af396;p=thirdparty%2Fcoreutils.git truncate: Fix integer portability issues * src/truncate.c: Explicitly convert from off_t to intmax_t when printing numbers as they may be different types. Also don't mix size_t and off_t types in operations as the latter will be promoted to unsigned when these types are the same size. --- diff --git a/src/truncate.c b/src/truncate.c index 2435a12771..02d41024b7 100644 --- a/src/truncate.c +++ b/src/truncate.c @@ -155,12 +155,13 @@ do_ftruncate (int fd, char const *fname, off_t ssize, rel_mode_t rel_mode) } if (block_mode) { - size_t const blksize = ST_BLKSIZE (sb); + off_t const blksize = ST_BLKSIZE (sb); if (ssize < OFF_T_MIN / blksize || ssize > OFF_T_MAX / blksize) { error (0, 0, _("overflow in %" PRIdMAX - " * %zu byte blocks for file %s"), ssize, blksize, + " * %" PRIdMAX " byte blocks for file %s"), + (intmax_t) ssize, (intmax_t) blksize, quote (fname)); return 1; } @@ -241,7 +242,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, rel_mode_t rel_mode) { error (0, ftruncate_errno, _("truncating %s at %" PRIdMAX " bytes"), quote (fname), - nsize); + (intmax_t) nsize); return 1; } return 0;