From e2dbcee444e90e4289bd4bdc36783a5ef00af396 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Thu, 26 Jun 2008 11:10:13 +0100 Subject: 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. --- src/truncate.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/truncate.c b/src/truncate.c index 2435a1277..02d41024b 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; -- cgit v1.2.3-54-g00ecf