From 1411022cf23d81bac8176b06008898439a2c1a59 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Tue, 30 Oct 2012 02:12:23 +0000 Subject: build: don't rely on support for '%j' printf format * src/factor.c (print_uintmaxes): Replace with PRIuMAX. * src/join.c (check_order): Likewise. * cfg.mk (sc_check-j-printf-format): Add a syntax-check rule to flag new cases of this. --- cfg.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'cfg.mk') diff --git a/cfg.mk b/cfg.mk index 362b0603a..46652b017 100644 --- a/cfg.mk +++ b/cfg.mk @@ -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 -- cgit v1.2.3-54-g00ecf