1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-07-31 13:00:00 +02:00

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.
This commit is contained in:
Pádraig Brady
2008-06-26 11:10:13 +01:00
committed by Jim Meyering
parent 8ce745dc61
commit e2dbcee444
+4 -3
View File
@@ -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;