diff options
-rw-r--r-- | cfg.mk | 10 | ||||
-rw-r--r-- | src/factor.c | 2 | ||||
-rw-r--r-- | src/join.c | 2 |
3 files changed, 12 insertions, 2 deletions
@@ -191,6 +191,16 @@ sc_check-I18N-AUTHORS: '$$(LIBICONV)' 1>&2; exit 1; }; \ done +# Ensure %j is not used for intmax_t as it's not universally supported. +# There are issues on HPUX for example. But note that %ju was used between +# coreutils 8.13 (2011-10) and 8.20 (2012-10) without any reported issue, +# and the particular issue this check is associated with was for %*jx. +# So we may be able to relax this restriction soon. +sc_prohibit-j-printf-format: + @cd $(srcdir)/src && GIT_PAGER= git grep -n '%[0*]*j[udx]' *.c \ + && { echo '$(ME): Use PRI*MAX instead of %j' 1>&2; exit 1; } \ + || : + # Look for lines longer than 80 characters, except omit: # - program-generated long lines in diff headers, # - tests involving long checksum lines, and diff --git a/src/factor.c b/src/factor.c index 4c2af9811..be5a36cd5 100644 --- a/src/factor.c +++ b/src/factor.c @@ -2313,7 +2313,7 @@ print_uintmaxes (uintmax_t t1, uintmax_t t0) uintmax_t q, r; if (t1 == 0) - printf ("%ju", t0); + printf ("%"PRIuMAX, t0); else { /* Use very plain code here since it seems hard to write fast code diff --git a/src/join.c b/src/join.c index e39ed8725..eb87301c7 100644 --- a/src/join.c +++ b/src/join.c @@ -400,7 +400,7 @@ check_order (const struct line *prev, error ((check_input_order == CHECK_ORDER_ENABLED ? EXIT_FAILURE : 0), - 0, _("%s:%ju: is not sorted: %.*s"), + 0, _("%s:%"PRIuMAX": is not sorted: %.*s"), g_names[whatfile - 1], line_no[whatfile - 1], (int) len, current->buf.buffer); |