Date: Mon, 31 Jan 2000 00:33:01 +0200 (EET) From: jau@cs74137.pp.htv.fi (Jukka Ukkonen) To: questions@freebsd.org Subject: Extremely odd catopen() behaviour... Message-ID: <200001302233.AAA49383@mjolnir.thunderbolt.fi>
index | next in thread | raw e-mail
Hello all!
I have been wondering whether there is any good reason why the
message catalogs do not obey LC_ALL when there is no LANG or
LC_MESSAGES set.
Shouldn't LC_ALL be a catch all variable that sets a default
for any category which is not explicitly set using the one of
other LC_* variables?
On the other hand it seems rather odd to me to make catopen()
actually depend on the NL_CAT_LOCALE flag and exclude one or
the other of LC_MESSAGES or LANG completely. As far as I know
these variables were never intended to serve the same purpose,
but LANG served as a sort of "catch all" when the LC_* variables
did not exist yet.
From my point of view the OSF/1 interpretation was entirely
correct, because they decided that the logic should be roughly
this...
locale = getenv ("LC_MESSAGES"); /* or any other LC_* */
if (locale)
goto Locale_OK;
locale = getenv ("LANG");
if (locale)
goto Locale_OK;
locale = getenv ("LC_ALL");
if (! locale)
locale = "C";
Locale_OK:
.
.
.
I see no problem with this interpretation. There would be two
sort of "catch all" environment variables, but that would only
be very nice backward compatibility.
In my opinion it is quite enough compatibility with XPG4 to
have NL_CAT_LOCALE defined as 0 in the header file as it is
in my implementation.
In fact my own implementation of the message catalogs has been
made using libdb in b-tree mode, and based on that experiment
there is much better use for the flags argument serving as the
mode & flags for the DB file. ;-)
Cheers,
// jau
.--- ..- -.- -.- .- .- .-.-.- ..- -.- -.- --- -. . -.
/ Jukka A. Ukkonen, SysOpen Plc, Finland
/__ M.Sc. (sw-eng & cs) (Phone) +358-424-2020-331
/ Internet: Jukka.Ukkonen@SysOpen.Fi (Fax) +358-424-2020-700
/ Internet: ukkonen@nic.funet.fi (Mobile) +358-400-606-671
v Internet: jau@iki.fi (Home&Fax) +358-9-6215-280
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001302233.AAA49383>
