Following on from commit v9.3-128-gf31229ebd replace all uses of the PRI.MAX portability defines with C99 size specifiers %z, %j, and %t. --- TODO | 2 +- gl/lib/randint.c | 2 +- src/dd.c | 22 +++++++++++----------- src/digest.c | 18 +++++++++--------- src/getlimits.c | 4 ++-- src/group-list.c | 4 ++-- src/join.c | 2 +- src/libstdbuf.c | 3 +-- src/ls.c | 6 +++--- src/nl.c | 6 +++--- src/numfmt.c | 4 ++-- src/od.c | 19 +++++++++---------- src/pinky.c | 2 +- src/pr.c | 7 +++---- src/printf.c | 4 ++-- src/ptx.c | 4 ++-- src/rm.c | 8 ++++---- src/stat.c | 12 ++++++------ src/stdbuf.c | 4 ++-- src/truncate.c | 8 +++----- src/uniq.c | 2 +- src/uptime.c | 4 ++-- 22 files changed, 71 insertions(+), 76 deletions(-)
diff --git a/TODO b/TODO index 1c7f71e03..032c930da 100644 --- a/TODO +++ b/TODO @@ -18,7 +18,7 @@ document the following in coreutils.texi: Suggestion from Paul Eggert: More generally, there's not that much use for imaxtostr nowadays, since the inttypes module and newer versions of gettext allow things - like _("truncating %s at %" PRIdMAX " bytes") to work portably. + like _("truncating %s at %jd bytes") to work portably. I suspect that (if someone cares to take the time) we can remove all instances of imaxtostr and umaxtostr in coreutils and gnulib. diff --git a/gl/lib/randint.c b/gl/lib/randint.c index ccf268bed..fd5f7c38d 100644 --- a/gl/lib/randint.c +++ b/gl/lib/randint.c @@ -41,7 +41,7 @@ main (int argc, char **argv) struct randint_source *ints = randint_all_new (name, SIZE_MAX); for (i = 0; i < n; i++) - printf ("%"PRIuMAX"\n", randint_choose (ints, choices)); + printf ("%ju\n", randint_choose (ints, choices)); return (randint_all_free (ints) == 0 ? EXIT_SUCCESS : EXIT_FAILURE); } diff --git a/src/dd.c b/src/dd.c index 198d4800c..595b8755b 100644 --- a/src/dd.c +++ b/src/dd.c @@ -778,16 +778,16 @@ print_xfer_stats (xtime_t progress_time) int stats_len = (abbreviation_lacks_prefix (si) ? fprintf (stderr, - ngettext ("%"PRIdMAX" byte copied, %s, %s", - "%"PRIdMAX" bytes copied, %s, %s", + ngettext ("%jd byte copied, %s, %s", + "%jd bytes copied, %s, %s", select_plural (w_bytes)), w_bytes, delta_s_buf, bytes_per_second) : abbreviation_lacks_prefix (iec) ? fprintf (stderr, - _("%"PRIdMAX" bytes (%s) copied, %s, %s"), + _("%jd bytes (%s) copied, %s, %s"), w_bytes, si, delta_s_buf, bytes_per_second) : fprintf (stderr, - _("%"PRIdMAX" bytes (%s, %s) copied, %s, %s"), + _("%jd bytes (%s, %s) copied, %s, %s"), w_bytes, si, iec, delta_s_buf, bytes_per_second)); if (progress_time) @@ -821,14 +821,14 @@ print_stats (void) } fprintf (stderr, - _("%"PRIdMAX"+%"PRIdMAX" records in\n" - "%"PRIdMAX"+%"PRIdMAX" records out\n"), + _("%jd+%jd records in\n" + "%jd+%jd records out\n"), r_full, r_partial, w_full, w_partial); if (r_truncate != 0) fprintf (stderr, - ngettext ("%"PRIdMAX" truncated record\n", - "%"PRIdMAX" truncated records\n", + ngettext ("%jd truncated record\n", + "%jd truncated records\n", select_plural (r_truncate)), r_truncate); @@ -2357,7 +2357,7 @@ dd_copy (void) { if (iftruncate (STDOUT_FILENO, output_offset) != 0) { - diagnose (errno, _("failed to truncate to %" PRIdMAX " bytes" + diagnose (errno, _("failed to truncate to %jd bytes" " in output file %s"), (intmax_t) output_offset, quoteaf (output_file)); return EXIT_FAILURE; @@ -2479,7 +2479,7 @@ main (int argc, char **argv) && !(conversions_mask & C_NOTRUNC)) error (EXIT_FAILURE, 0, _("offset too large: " - "cannot truncate to a length of seek=%"PRIdMAX"" + "cannot truncate to a length of seek=%jd" " (%td-byte) blocks"), seek_records, output_blocksize); @@ -2515,7 +2515,7 @@ main (int argc, char **argv) { intmax_t isize = size; diagnose (ftruncate_errno, - _("failed to truncate to %"PRIdMAX" bytes" + _("failed to truncate to %jd bytes" " in output file %s"), isize, quoteaf (output_file)); exit_status = EXIT_FAILURE; diff --git a/src/digest.c b/src/digest.c index 3d239dabd..b996dde11 100644 --- a/src/digest.c +++ b/src/digest.c @@ -1052,12 +1052,12 @@ output_file (char const *file, int binary_file, void const *digest, fputs (DIGEST_TYPE_STRING, stdout); # if HASH_ALGO_BLAKE2 if (digest_length < BLAKE2B_MAX_LEN * 8) - printf ("-%"PRIuMAX, digest_length); + printf ("-%ju", digest_length); # elif HASH_ALGO_CKSUM if (cksum_algorithm == blake2b) { if (digest_length < BLAKE2B_MAX_LEN * 8) - printf ("-%"PRIuMAX, digest_length); + printf ("-%ju", digest_length); } # endif fputs (" (", stdout); @@ -1205,7 +1205,7 @@ digest_check (char const *checkfile_name) if (warn) { error (0, 0, - _("%s: %" PRIuMAX + _("%s: %ju" ": improperly formatted %s checksum line"), quotef (checkfile_name), line_number, DIGEST_TYPE_STRING); @@ -1301,24 +1301,24 @@ digest_check (char const *checkfile_name) if (n_misformatted_lines != 0) error (0, 0, (ngettext - ("WARNING: %" PRIuMAX " line is improperly formatted", - "WARNING: %" PRIuMAX " lines are improperly formatted", + ("WARNING: %ju line is improperly formatted", + "WARNING: %ju lines are improperly formatted", select_plural (n_misformatted_lines))), n_misformatted_lines); if (n_open_or_read_failures != 0) error (0, 0, (ngettext - ("WARNING: %" PRIuMAX " listed file could not be read", - "WARNING: %" PRIuMAX " listed files could not be read", + ("WARNING: %ju listed file could not be read", + "WARNING: %ju listed files could not be read", select_plural (n_open_or_read_failures))), n_open_or_read_failures); if (n_mismatched_checksums != 0) error (0, 0, (ngettext - ("WARNING: %" PRIuMAX " computed checksum did NOT match", - "WARNING: %" PRIuMAX " computed checksums did NOT match", + ("WARNING: %ju computed checksum did NOT match", + "WARNING: %ju computed checksums did NOT match", select_plural (n_mismatched_checksums))), n_mismatched_checksums); diff --git a/src/getlimits.c b/src/getlimits.c index 4a9dffecd..5a1ab16e4 100644 --- a/src/getlimits.c +++ b/src/getlimits.c @@ -130,12 +130,12 @@ main (int argc, char **argv) (char const *) nullptr); #define print_int(TYPE) \ - sprintf (limit + 1, "%"PRIuMAX, (uintmax_t) TYPE##_MAX); \ + sprintf (limit + 1, "%ju", (uintmax_t) TYPE##_MAX); \ printf (#TYPE"_MAX=%s\n", limit + 1); \ printf (#TYPE"_OFLOW=%s\n", decimal_absval_add_one (limit)); \ if (TYPE##_MIN) \ { \ - sprintf (limit + 1, "%"PRIdMAX, (intmax_t) TYPE##_MIN); \ + sprintf (limit + 1, "%jd", (intmax_t) TYPE##_MIN); \ printf (#TYPE"_MIN=%s\n", limit + 1); \ printf (#TYPE"_UFLOW=%s\n", decimal_absval_add_one (limit)); \ } diff --git a/src/group-list.c b/src/group-list.c index 523012391..5cdf3639f 100644 --- a/src/group-list.c +++ b/src/group-list.c @@ -112,12 +112,12 @@ print_group (gid_t gid, bool use_name) if (TYPE_SIGNED (gid_t)) { intmax_t g = gid; - error (0, 0, _("cannot find name for group ID %"PRIdMAX), g); + error (0, 0, _("cannot find name for group ID %jd"), g); } else { uintmax_t g = gid; - error (0, 0, _("cannot find name for group ID %"PRIuMAX), g); + error (0, 0, _("cannot find name for group ID %ju"), g); } ok = false; } diff --git a/src/join.c b/src/join.c index 0bcfa75d6..7eef58c0b 100644 --- a/src/join.c +++ b/src/join.c @@ -415,7 +415,7 @@ check_order (const struct line *prev, error ((check_input_order == CHECK_ORDER_ENABLED ? EXIT_FAILURE : 0), - 0, _("%s:%"PRIuMAX": is not sorted: %.*s"), + 0, _("%s:%ju: is not sorted: %.*s"), g_names[whatfile - 1], line_no[whatfile - 1], (int) len, current->buf.buffer); diff --git a/src/libstdbuf.c b/src/libstdbuf.c index 16b65fa2b..e2e2fa953 100644 --- a/src/libstdbuf.c +++ b/src/libstdbuf.c @@ -118,8 +118,7 @@ apply_mode (FILE *stream, char const *mode) glibc currently ignores the combination of null buffer with non zero size, we'll fail here. */ fprintf (stderr, - _("failed to allocate a %" PRIuMAX - " byte stdio buffer\n"), + _("failed to allocate a %ju byte stdio buffer\n"), size); return; } diff --git a/src/ls.c b/src/ls.c index 31375cc96..5fe6e2725 100644 --- a/src/ls.c +++ b/src/ls.c @@ -1083,7 +1083,7 @@ dired_dump_obstack (char const *prefix, struct obstack *os) for (size_t i = 0; i < n_pos; i++) { intmax_t p = pos[i]; - printf (" %"PRIdMAX, p); + printf (" %jd", p); } putchar ('\n'); } @@ -4245,7 +4245,7 @@ format_user_or_group (char const *name, uintmax_t id, int width) while (pad--); } else - dired_pos += printf ("%*"PRIuMAX" ", width, id); + dired_pos += printf ("%*ju ", width, id); } /* Print the name or id of the user with id U, using a print width of @@ -4275,7 +4275,7 @@ format_user_or_group_width (char const *name, uintmax_t id) { return (name ? mbswidth (name, MBSWIDTH_FLAGS) - : snprintf (nullptr, 0, "%"PRIuMAX, id)); + : snprintf (nullptr, 0, "%ju", id)); } /* Return the number of columns that format_user will print, diff --git a/src/nl.c b/src/nl.c index e41e695e7..539c53f08 100644 --- a/src/nl.c +++ b/src/nl.c @@ -44,13 +44,13 @@ value, and a string separator. */ /* Right justified, no leading zeroes. */ -static char const FORMAT_RIGHT_NOLZ[] = "%*" PRIdMAX "%s"; +static char const FORMAT_RIGHT_NOLZ[] = "%*jd%s"; /* Right justified, leading zeroes. */ -static char const FORMAT_RIGHT_LZ[] = "%0*" PRIdMAX "%s"; +static char const FORMAT_RIGHT_LZ[] = "%0*jd%s"; /* Left justified, no leading zeroes. */ -static char const FORMAT_LEFT[] = "%-*" PRIdMAX "%s"; +static char const FORMAT_LEFT[] = "%-*jd%s"; /* Default section delimiter characters. */ static char DEFAULT_SECTION_DELIMITERS[] = "\\:"; diff --git a/src/numfmt.c b/src/numfmt.c index a242f0efb..8fd6e77ad 100644 --- a/src/numfmt.c +++ b/src/numfmt.c @@ -1189,8 +1189,8 @@ prepare_padded_number (const long double val, size_t precision, { if (precision_used) error (conv_exit_code, 0, - _("value/precision too large to be printed: '%Lg/%"PRIuMAX"'" - " (consider using --to)"), val, (uintmax_t)precision_used); + _("value/precision too large to be printed: '%Lg/%zu'" + " (consider using --to)"), val, precision_used); else error (conv_exit_code, 0, _("value too large to be printed: '%Lg'" diff --git a/src/od.c b/src/od.c index 48ec3d4f0..538175af7 100644 --- a/src/od.c +++ b/src/od.c @@ -86,10 +86,10 @@ enum FMT_BYTES_ALLOCATED = (sizeof "%*.99" + 1 + MAX (sizeof "ld", - MAX (sizeof PRIdMAX, - MAX (sizeof PRIoMAX, - MAX (sizeof PRIuMAX, - sizeof PRIxMAX))))) + MAX (sizeof "jd", + MAX (sizeof "jd", + MAX (sizeof "ju", + sizeof "jx"))))) }; /* Ensure that our choice for FMT_BYTES_ALLOCATED is reasonable. */ @@ -709,28 +709,28 @@ decode_one_format (char const *s_orig, char const *s, char const **next, fmt = SIGNED_DECIMAL; field_width = bytes_to_signed_dec_digits[size]; sprintf (tspec->fmt_string, "%%*%s", - ISPEC_TO_FORMAT (size_spec, "d", "ld", PRIdMAX)); + ISPEC_TO_FORMAT (size_spec, "d", "ld", "jd")); break; case 'o': fmt = OCTAL; sprintf (tspec->fmt_string, "%%*.%d%s", (field_width = bytes_to_oct_digits[size]), - ISPEC_TO_FORMAT (size_spec, "o", "lo", PRIoMAX)); + ISPEC_TO_FORMAT (size_spec, "o", "lo", "jo")); break; case 'u': fmt = UNSIGNED_DECIMAL; field_width = bytes_to_unsigned_dec_digits[size]; sprintf (tspec->fmt_string, "%%*%s", - ISPEC_TO_FORMAT (size_spec, "u", "lu", PRIuMAX)); + ISPEC_TO_FORMAT (size_spec, "u", "lu", "ju")); break; case 'x': fmt = HEXADECIMAL; sprintf (tspec->fmt_string, "%%*.%d%s", (field_width = bytes_to_hex_digits[size]), - ISPEC_TO_FORMAT (size_spec, "x", "lx", PRIxMAX)); + ISPEC_TO_FORMAT (size_spec, "x", "lx", "jx")); break; default: @@ -1956,8 +1956,7 @@ main (int argc, char **argv) } #ifdef DEBUG - printf ("lcm=%d, width_per_block=%"PRIuMAX"\n", l_c_m, - (uintmax_t) width_per_block); + printf ("lcm=%d, width_per_block=%zu\n", l_c_m, 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/pinky.c b/src/pinky.c index 3427fb12b..db0d2557b 100644 --- a/src/pinky.c +++ b/src/pinky.c @@ -165,7 +165,7 @@ idle_string (time_t when) else { intmax_t days = seconds_idle / (24 * 60 * 60); - sprintf (buf, "%"PRIdMAX"d", days); + sprintf (buf, "%jdd", days); } return buf; } diff --git a/src/pr.c b/src/pr.c index 419545c02..57361d629 100644 --- a/src/pr.c +++ b/src/pr.c @@ -2354,8 +2354,7 @@ skip_to_page (uintmax_t page) /* It's very helpful, normally the total number of pages is not known in advance. */ error (0, 0, - _("starting page number %"PRIuMAX - " exceeds page count %"PRIuMAX), + _("starting page number %ju exceeds page count %ju"), page, n); break; } @@ -2384,9 +2383,9 @@ print_header (void) error (EXIT_FAILURE, 0, _("page number overflow")); /* The translator must ensure that formatting the translation of - "Page %"PRIuMAX does not generate more than (sizeof page_text - 1) + "Page %ju" does not generate more than (sizeof page_text - 1) bytes. */ - sprintf (page_text, _("Page %"PRIuMAX), page_number); + sprintf (page_text, _("Page %ju"), page_number); available_width = header_width_available - mbswidth (page_text, 0); available_width = MAX (0, available_width); lhs_spaces = available_width >> 1; diff --git a/src/printf.c b/src/printf.c index 9670d8043..a6f63cb00 100644 --- a/src/printf.c +++ b/src/printf.c @@ -355,8 +355,8 @@ print_direc (char const *start, size_t length, char conversion, switch (conversion) { case 'd': case 'i': case 'o': case 'u': case 'x': case 'X': - length_modifier = PRIdMAX; - length_modifier_len = sizeof PRIdMAX - 2; + length_modifier = "j"; + length_modifier_len = 1; break; case 'a': case 'e': case 'f': case 'g': diff --git a/src/ptx.c b/src/ptx.c index 62b95e86a..3601875ed 100644 --- a/src/ptx.c +++ b/src/ptx.c @@ -1111,7 +1111,7 @@ fix_output_parameters (void) if (file_index > 0) line_ordinal -= file_line_count[file_index - 1]; char ordinal_string[INT_BUFSIZE_BOUND (intmax_t)]; - reference_width = sprintf (ordinal_string, "%"PRIdMAX, line_ordinal); + reference_width = sprintf (ordinal_string, "%jd", line_ordinal); if (input_file_name[file_index]) reference_width += strlen (input_file_name[file_index]); if (reference_width > reference_max_width) @@ -1427,7 +1427,7 @@ define_all_fields (OCCURS *occurs) line_ordinal -= file_line_count[occurs->file_index - 1]; char *file_end = stpcpy (reference.start, file_name); - reference.end = file_end + sprintf (file_end, ":%"PRIdMAX, line_ordinal); + reference.end = file_end + sprintf (file_end, ":%jd", line_ordinal); } else if (input_reference) { diff --git a/src/rm.c b/src/rm.c index ecd7699c3..523f148f5 100644 --- a/src/rm.c +++ b/src/rm.c @@ -352,11 +352,11 @@ main (int argc, char **argv) { fprintf (stderr, (x.recursive - ? ngettext ("%s: remove %"PRIuMAX" argument recursively? ", - "%s: remove %"PRIuMAX" arguments recursively? ", + ? ngettext ("%s: remove %ju argument recursively? ", + "%s: remove %ju arguments recursively? ", select_plural (n_files)) - : ngettext ("%s: remove %"PRIuMAX" argument? ", - "%s: remove %"PRIuMAX" arguments? ", + : ngettext ("%s: remove %ju argument? ", + "%s: remove %ju arguments? ", select_plural (n_files))), program_name, n_files); if (!yesno ()) diff --git a/src/stat.c b/src/stat.c index 2705f6522..39acfee70 100644 --- a/src/stat.c +++ b/src/stat.c @@ -693,25 +693,25 @@ out_string (char *pformat, size_t prefix_len, char const *arg) static int out_int (char *pformat, size_t prefix_len, intmax_t arg) { - make_format (pformat, prefix_len, "'-+ 0", PRIdMAX); + make_format (pformat, prefix_len, "'-+ 0", "jd"); return printf (pformat, arg); } static int out_uint (char *pformat, size_t prefix_len, uintmax_t arg) { - make_format (pformat, prefix_len, "'-0", PRIuMAX); + make_format (pformat, prefix_len, "'-0", "ju"); return printf (pformat, arg); } static void out_uint_o (char *pformat, size_t prefix_len, uintmax_t arg) { - make_format (pformat, prefix_len, "-#0", PRIoMAX); + make_format (pformat, prefix_len, "-#0", "jo"); printf (pformat, arg); } static void out_uint_x (char *pformat, size_t prefix_len, uintmax_t arg) { - make_format (pformat, prefix_len, "-#0", PRIxMAX); + make_format (pformat, prefix_len, "-#0", "jx"); printf (pformat, arg); } static int @@ -1139,8 +1139,8 @@ print_it (char const *format, int fd, char const *filename, enum { MAX_ADDITIONAL_BYTES = - (MAX (sizeof PRIdMAX, - MAX (sizeof PRIoMAX, MAX (sizeof PRIuMAX, sizeof PRIxMAX))) + (MAX (sizeof "jd", + MAX (sizeof "jo", MAX (sizeof "ju", sizeof "jx"))) - 1) }; size_t n_alloc = strlen (format) + MAX_ADDITIONAL_BYTES + 1; diff --git a/src/stdbuf.c b/src/stdbuf.c index 2a58c365d..1ec23cf8b 100644 --- a/src/stdbuf.c +++ b/src/stdbuf.c @@ -287,9 +287,9 @@ set_libstdbuf_options (void) ret = asprintf (&var, "%s%c=L", "_STDBUF_", toupper (stdbuf[i].optc)); else - ret = asprintf (&var, "%s%c=%" PRIuMAX, "_STDBUF_", + ret = asprintf (&var, "%s%c=%zu", "_STDBUF_", toupper (stdbuf[i].optc), - (uintmax_t) stdbuf[i].size); + stdbuf[i].size); if (ret < 0) xalloc_die (); diff --git a/src/truncate.c b/src/truncate.c index d0907e302..4a828e1da 100644 --- a/src/truncate.c +++ b/src/truncate.c @@ -120,8 +120,7 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize, if (ckd_mul (&ssize, ssize, blksize)) { error (0, 0, - _("overflow in %" PRIdMAX - " * %" PRIdPTR " byte blocks for file %s"), + _("overflow in %jd * %td byte blocks for file %s"), ssize0, blksize, quoteaf (fname)); return false; } @@ -188,9 +187,8 @@ do_ftruncate (int fd, char const *fname, off_t ssize, off_t rsize, if (ftruncate (fd, nsize) != 0) { - intmax_t s = nsize; - error (0, errno, _("failed to truncate %s at %"PRIdMAX" bytes"), - quoteaf (fname), s); + error (0, errno, _("failed to truncate %s at %jd bytes"), + quoteaf (fname), (intmax_t) nsize); return false; } diff --git a/src/uniq.c b/src/uniq.c index fab04ded8..d294ed665 100644 --- a/src/uniq.c +++ b/src/uniq.c @@ -307,7 +307,7 @@ writeline (struct linebuffer const *line, return; if (countmode == count_occurrences) - printf ("%7" PRIuMAX " ", linecount + 1); + printf ("%7ju ", linecount + 1); if (fwrite (line->buffer, sizeof (char), line->length, stdout) != line->length) diff --git a/src/uptime.c b/src/uptime.c index ec7f2f777..01b69d164 100644 --- a/src/uptime.c +++ b/src/uptime.c @@ -87,8 +87,8 @@ print_uptime (idx_t n, struct gl_utmp const *utmp_buf) int uphours = uptime % 86400 / 3600; int upmins = uptime % 86400 % 3600 / 60; if (0 < updays) - printf (ngettext ("up %"PRIdMAX" day %2d:%02d, ", - "up %"PRIdMAX" days %2d:%02d, ", + printf (ngettext ("up %jd day %2d:%02d, ", + "up %jd days %2d:%02d, ", select_plural (updays)), updays, uphours, upmins); else -- 2.41.0