*printf-posix: ISO C 23: Add %b directive for binary output of integers

2023-03-17 Thread Bruno Haible
This set of patches adds support for the %b format string directive, required by ISO C 23, to the *printf family of functions. So far, only glibc implements it (since version 2.35). For portability to the other platforms, use the *printf-posix modules. 2023-03-17 Bruno Haible *printf

vasnwprintf: Fix test failure on OpenBSD

2023-03-17 Thread Bruno Haible
On OpenBSD 7.2, I see a test failure for vasnwprintf. The cause is that we use %n in the swprintf format string, and OpenBSD disabled that in 2021. We have already stopped using %n on OpenBSD in the snprintf format string in 2020, see https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00013.h

time: Fix test failure on AIX 7.2

2023-03-17 Thread Bruno Haible
Also on AIX 7.2, I see the 'time' test fail. Here too, for ca. 5 milliseconds after gettimeofday() reports a new second, time(NULL) reports the previous one. This patch fixes it. 2023-03-17 Bruno Haible time: Fix test failure on AIX 7.2. * m4/time.m4 (gl_FUNC_TIME): Guess tha

Re: strtol, strtoll, strtoul, strtoull: Make ISO C 23 compliant

2023-03-17 Thread Eric Blake
On Thu, Mar 16, 2023 at 04:05:18PM +0100, Bruno Haible wrote: > ISO C 23 § 7.24.1.7 in combination with § 6.4.4.1 specifies that strtol, > strtoll, strtoul, strtoull need to accept binary integer syntax as input, > e.g. "0b101010" for 42. > > This patch implements it, and augments the unit tests a

time: Fix test failure on native Windows

2023-03-17 Thread Bruno Haible
The recently added unit test that checks the consistency between time(NULL) and gettimeofday() fails on native Windows. Both on mingw (which has a gettimeofday function) and on MSVC (which does not have gettimeofday and therefore uses gnulib's replacement). Here, after gettimeofday() reports a new