From: Adhemerval Zanella Date: Fri, 10 May 2019 12:35:18 +0000 (-0300) Subject: support: Fix timespec printf X-Git-Tag: glibc-2.30~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eb669ff5bf2c8093b7e88b75e745ce3f1f4bd8a4;p=thirdparty%2Fglibc.git support: Fix timespec printf The patch print timespec members as intmax_t instead of long int. It avoid the -Werror=format= build issue on x32: timespec.c: In function 'test_timespec_before_impl': timespec.c:32:23: error: format '%ld' expects argument of type 'long int', but argument 4 has type '__time_t' {aka 'const long long int'} [-Werror=format=] Checked on x86_64-linux-gnu-x32, x86_64-linux-gnu, and i686-linux-gnu. * support/timespec.c (test_timespec_before_impl, test_timespec_equal_or_after_impl): print timespec member as intmax_t insted of long int. Reviewed-by: Florian Weimer --- diff --git a/ChangeLog b/ChangeLog index 47a2a9ef192..8f6b8c82a65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2019-05-09 Adhemerval Zanella + + * support/timespec.c (test_timespec_before_impl, + test_timespec_equal_or_after_impl): print timespec member as intmax_t + insted of long int. + 2019-05-09 Mike Crowe * nptl/tst-abstime.c: Use libsupport. diff --git a/support/timespec.c b/support/timespec.c index f1b88c1f4ce..653293970ad 100644 --- a/support/timespec.c +++ b/support/timespec.c @@ -18,6 +18,7 @@ #include #include +#include void test_timespec_before_impl (const char *file, int line, @@ -29,12 +30,12 @@ test_timespec_before_impl (const char *file, int line, && left.tv_nsec > right.tv_nsec)) { support_record_failure (); const struct timespec diff = timespec_sub (left, right); - printf ("%s:%d: %ld.%09lds not before %ld.%09lds " - "(difference %ld.%09lds)n", + printf ("%s:%d: %jd.%09jds not before %jd.%09jds " + "(difference %jd.%09jds)n", file, line, - left.tv_sec, left.tv_nsec, - right.tv_sec, right.tv_nsec, - diff.tv_sec, diff.tv_nsec); + (intmax_t) left.tv_sec, (intmax_t) left.tv_nsec, + (intmax_t) right.tv_sec, (intmax_t) right.tv_nsec, + (intmax_t) diff.tv_sec, (intmax_t) diff.tv_nsec); } } @@ -48,11 +49,11 @@ test_timespec_equal_or_after_impl (const char *file, int line, && left.tv_nsec < right.tv_nsec)) { support_record_failure (); const struct timespec diff = timespec_sub (right, left); - printf ("%s:%d: %ld.%09lds not after %ld.%09lds " - "(difference %ld.%09lds)n", + printf ("%s:%d: %jd.%09jds not after %jd.%09jds " + "(difference %jd.%09jds)n", file, line, - left.tv_sec, left.tv_nsec, - right.tv_sec, right.tv_nsec, - diff.tv_sec, diff.tv_nsec); + (intmax_t) left.tv_sec, (intmax_t) left.tv_nsec, + (intmax_t) right.tv_sec, (intmax_t) right.tv_nsec, + (intmax_t) diff.tv_sec, (intmax_t) diff.tv_nsec); } }