C++ Logo

sg16

Advanced search

Re: [SG16] LWG issue: Time formatters should not be locale sensitive by default

From: Corentin <corentin.jabot_at_[hidden]>
Date: Sun, 2 May 2021 15:01:51 +0200
On Sun, May 2, 2021 at 2:55 PM Tom Honermann <tom_at_[hidden]> wrote:

> For reference purposes, the POSIX 2017 specification of strftime() is
> available at
> https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html
> and defers to the C standard.
>
> The most recent C working draft is available at
> http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2596.pdf. strftime() is
> specified in 7.27.3.5.
>
> Corentin, I think the claims of brokenness are not helpful here. Let's
> please stick to terminology relevant for technical evaluation.
>

Neither printf nor strftime (and therefore std::format) can produce numbers
in writing systems used & expected by billions of people,
It's an issue that is orthogonal to the one this thread is about.


>
> Tom.
>
> On 5/2/21 7:44 AM, Jens Maurer wrote:
> > On 02/05/2021 12.52, Corentin via SG16 wrote:
> >> There do not seem to be an end to the brokenness, which I guess is to
> be expected when dealing with POSIX
> >> Reading of the code of strftime reveals that strftime never uses locale
> to format numbers without O, even if it should.
> > You're talking about POSIX (a standard) here, and then about "reading
> the code",
> > which seems to refer to a specific implementation.
> >
> > Are you saying that the POSIX standard prescribes to ignore the locale
> > for non-O format specifiers, or are you saying that the specific
> > implementation you looked at ignores the locale for non-O
> > specifiers, presumably in violation of the POSIX standard?
> >
> >> In fact, it never uses the digits property at all! Neither does printf
> > The POSIX standard or the implementation you looked at?
> >
> > Jens
>
>
>

Received on 2021-05-02 08:02:04