summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2014-11-27 00:51:00 +0000
committerPádraig Brady <P@draigBrady.com>2014-11-27 14:25:00 +0000
commit7d1fe8868e29ae2644831685df4a29638721d6ba (patch)
treedca250b9dd338b191879afd36e115eba244db1ae /src
parenta78d85386bf4a55d7ccbd7c03c0075615b3f61d2 (diff)
downloadcoreutils-7d1fe8868e29ae2644831685df4a29638721d6ba.tar.xz
rm: fix prompted number of arguments to remove on some platforms
"zu" was output on solaris 8 for example rather than the number, since coreutils-8.22. * cfg.mk: Disallow %z, since we don't currently use the gnulib fprintf module, so any usage with it is non portable. Also our usage with error() currently works only through an ancillary dependency on the vfprintf gnulib module. * src/rm.c (main): Use %PRIuMAX rather than %zu for portability. * src/dd.c (alloc_[io]buf): Likewise for consistency. * src/od.c (main): Likewise. * src/split.c (set_suffix_length): Likewise. * NEWS: Mention the rm bug fix. Reported in http://bugs.gnu.org/19184
Diffstat (limited to 'src')
-rw-r--r--src/dd.c5
-rw-r--r--src/od.c3
-rw-r--r--src/rm.c10
-rw-r--r--src/split.c4
4 files changed, 12 insertions, 10 deletions
diff --git a/src/dd.c b/src/dd.c
index 78433ff58..0b5a4b20a 100644
--- a/src/dd.c
+++ b/src/dd.c
@@ -696,7 +696,7 @@ alloc_ibuf (void)
char *real_buf = malloc (input_blocksize + INPUT_BLOCK_SLOP);
if (!real_buf)
error (EXIT_FAILURE, 0,
- _("memory exhausted by input buffer of size %zu bytes (%s)"),
+ _("memory exhausted by input buffer of size %"PRIuMAX" bytes (%s)"),
input_blocksize, human_size (input_blocksize));
real_buf += SWAB_ALIGN_OFFSET; /* allow space for swab */
@@ -718,7 +718,8 @@ alloc_obuf (void)
char *real_obuf = malloc (output_blocksize + OUTPUT_BLOCK_SLOP);
if (!real_obuf)
error (EXIT_FAILURE, 0,
- _("memory exhausted by output buffer of size %zu bytes (%s)"),
+ _("memory exhausted by output buffer of size %"PRIuMAX
+ " bytes (%s)"),
output_blocksize, human_size (output_blocksize));
obuf = ptr_align (real_obuf, page_size);
}
diff --git a/src/od.c b/src/od.c
index 7ac663ad4..79bc7fc71 100644
--- a/src/od.c
+++ b/src/od.c
@@ -1962,7 +1962,8 @@ main (int argc, char **argv)
}
#ifdef DEBUG
- printf ("lcm=%d, width_per_block=%zu\n", l_c_m, width_per_block);
+ printf ("lcm=%d, width_per_block=%"PRIuMAX"\n", l_c_m,
+ (uintmax_t) width_per_block);
for (i = 0; i < n_specs; i++)
{
int fields_per_block = bytes_per_block / width_bytes[spec[i].size];
diff --git a/src/rm.c b/src/rm.c
index f7adf5b62..4c8ee6e7c 100644
--- a/src/rm.c
+++ b/src/rm.c
@@ -332,18 +332,18 @@ main (int argc, char **argv)
quote ("/"));
}
- size_t n_files = argc - optind;
+ uintmax_t n_files = argc - optind;
char **file = argv + optind;
if (prompt_once && (x.recursive || 3 < n_files))
{
fprintf (stderr,
(x.recursive
- ? ngettext ("%s: remove %zu argument recursively? ",
- "%s: remove %zu arguments recursively? ",
+ ? ngettext ("%s: remove %"PRIuMAX" argument recursively? ",
+ "%s: remove %"PRIuMAX" arguments recursively? ",
select_plural (n_files))
- : ngettext ("%s: remove %zu argument? ",
- "%s: remove %zu arguments? ",
+ : ngettext ("%s: remove %"PRIuMAX" argument? ",
+ "%s: remove %"PRIuMAX" arguments? ",
select_plural (n_files))),
program_name, n_files);
if (!yesno ())
diff --git a/src/split.c b/src/split.c
index ec0da7deb..0eec3ecc2 100644
--- a/src/split.c
+++ b/src/split.c
@@ -158,7 +158,7 @@ set_suffix_length (uintmax_t n_units, enum Split_type split_type)
{
#define DEFAULT_SUFFIX_LENGTH 2
- size_t suffix_needed = 0;
+ uintmax_t suffix_needed = 0;
/* The suffix auto length feature is incompatible with
a user specified start value as the generated suffixes
@@ -183,7 +183,7 @@ set_suffix_length (uintmax_t n_units, enum Split_type split_type)
if (suffix_length < suffix_needed)
{
error (EXIT_FAILURE, 0,
- _("the suffix length needs to be at least %zu"),
+ _("the suffix length needs to be at least %"PRIuMAX),
suffix_needed);
}
suffix_auto = false;