diff options
author | Pádraig Brady <P@draigBrady.com> | 2008-06-26 11:10:13 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2008-06-27 08:11:21 +0200 |
commit | e2dbcee444e90e4289bd4bdc36783a5ef00af396 (patch) | |
tree | f5973cdb26c2e9d1f271b0c4bad69aae62dcac59 | |
parent | 8ce745dc612b21c01439da9a0ca217054841d177 (diff) | |
download | coreutils-e2dbcee444e90e4289bd4bdc36783a5ef00af396.tar.xz |
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.
-rw-r--r-- | src/truncate.c | 7 |
1 files changed, 4 insertions, 3 deletions
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; |