From: Bruno Haible <bruno@clisp.org> Date: Mon, 27 May 2024 21:17:01 +0000 (+0200) Subject: nstrftime, c-nstrftime: Make %h work on native Windows. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=b9419936dc5834f882a2ff6c33fa7b957fae8357;p=gnulib.git nstrftime, c-nstrftime: Make %h work on native Windows. * doc/posix-functions/strftime.texi: Mention the %h problem. * lib/strftime.c (__strftime_internal): On native Windows, for %h, do a %b directive. --- diff --git a/ChangeLog b/ChangeLog index 10e464af78..a9dc4859ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2024-05-27 Bruno Haible <bruno@clisp.org> + + nstrftime, c-nstrftime: Make %h work on native Windows. + * doc/posix-functions/strftime.texi: Mention the %h problem. + * lib/strftime.c (__strftime_internal): On native Windows, for %h, do a + %b directive. + 2024-05-27 Bruno Haible <bruno@clisp.org> nstrftime, c-nstrftime: Make %c work on native Windows. diff --git a/doc/posix-functions/strftime.texi b/doc/posix-functions/strftime.texi index 68af3224a4..7cba218a97 100644 --- a/doc/posix-functions/strftime.texi +++ b/doc/posix-functions/strftime.texi @@ -25,6 +25,9 @@ The %c specifier produces no weekday name and no month name, only a potentially ambiguous numerical output, on some platforms: mingw, MSVC. @item +The %h specifier produces empty output on some platforms: +mingw, MSVC. +@item The %r specifier produces empty output, at least in a French locale, on some platforms: macOS 12.5, FreeBSD 14.0. diff --git a/lib/strftime.c b/lib/strftime.c index 069bab7095..ccfa79daac 100644 --- a/lib/strftime.c +++ b/lib/strftime.c @@ -1251,6 +1251,9 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize) cpy (am_len, a_month); break; #else +# if defined _WIN32 && !defined __CYGWIN__ + format_char = L_('b'); +# endif goto underlying_strftime; #endif