On Tue, Aug 15, 2017 at 09:28:26PM +0200, Bruno Haible wrote:
> Which is pretty senseless, since it forces programs to use functions that take
> an explicit locale argument (fprintf_l, strfmon_l, and similar). The point
> of standardizing duplocale(), newlocale(), uselocale() was to *eliminate*
> the need for these non-standard *_l functions.

uselocale() is fundamentally broken from a design perspective. It can't
be implemented without breaking ABIs. It breaks expectations of existing
applications in funny ways and it is highly undesirable from a
performance spective. It is also by itself useless as building block as
pretty much any higher level runtime like C++ STL wants to have explicit
control over locales.

> And on top of that, in NetBSD 7.0,
>   - strfmon_l is not implemented,

This one slipped through. I did a full audit for any locale-sensitive
function, but that one I missed. Thanks for finding it :)

>   - duplocale(LC_GLOBAL_LOCALE) is broken.

I think this is a completely unrelated bug where thousand groupers were
handled incorrectly. Test certainly works on current.

Joerg

Reply via email to