Hi Bruno,

Bruno Haible wrote on Sun, Dec 16, 2018 at 07:12:44AM +0100:

> While testing a grep snapshot on OpenBSD 6.3, I see a test failure of
> test-localename. The cause is that in OpenBSD >= 6.2, the locale_t
> type and uselocale() etc. are now available, but with a terribly dumbed-
> down implementation that makes it impossible to use these per-thread
> locales for anything real (including gettext()).

Well, you *can* use newlocale()/uselocale() to switch the charset
between the two supported character sets ASCII and UTF-8, on a
per-thread basis.

The OpenBSD C library intentionally doesn't implement any other
locale(1) categories except LC_CTYPE because many here regard the
other categories as overengineering and as detrimental to system
security, so in that sense, xlocale support is complete.  Yes, you
are right that locale_t contains exactly one bit of information,
intentionally so.  POSIX does not require that "de_DE.UTF-8" and
"fr_FR.UTF-8" must be different locales, or that they behave
differently from each other in any way.

Not sure what the conclusion should be for gnulib - it probably
depends on what gnulib suggests the application build system should
do when newlocale(3) is not available, or what it should do when
the target system intentionally refrains from implementing LC_*
categories other than LC_CTYPE.


Reply via email to