|
|
Message-ID: <20231114153804.GW4163@brightrain.aerifal.cx>
Date: Tue, 14 Nov 2023 10:38:04 -0500
From: Rich Felker <dalias@...c.org>
To: Bruno Haible <bruno@...sp.org>
Cc: musl@...ts.openwall.com
Subject: Re: *printf %lc of L'\0'
On Tue, Nov 14, 2023 at 02:22:46PM +0100, Bruno Haible wrote:
> Hi,
>
> On 2023-03-21 I noticed a bug with %lc in most libcs:
> <https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00080.html>.
>
> On 2023-03-28 Eric Blake opened a defect with POSIX, with the intent that
> both ISO C and POSIX make the four *printf cases consistent:
> <https://austingroupbugs.net/view.php?id=1647>
>
> This issue was then submitted in the ISO C 23 ballot as GB-141,
> and in the meeting from 2023-06-20 to 2023-06-23 it was decided upon:
> <https://www.open-std.org/JTC1/sc22/wg14/www/docs/n3167.pdf>
> page 23, 24. The decision ("option 1") is detailed in
> <https://www.open-std.org/JTC1/sc22/wg14/www/docs/n3148.doc>:
> "Option 1 (require a NUL) - change the text to:
> If an l length modifier is present, the wint_t argument is converted
> as if by a call to the wcrtomb function with a pointer to storage of
> at least MB_CUR_MAX bytes, the wint_t argument converted to wchar_t,
> and an initial shift state."
>
> So, ISO C changed, and POSIX will follow suit.
>
> The bug in most libcs is thus no longer a bug.
Yep, I have a patch for it as of a few days ago, which should make it
in the next release.
> musl libc, which had it correct, now has a bug.
Well, not a "bug" until the next standard is published and we claim
aiming to support it, but yes, something that should be changed. :-)
Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.