mirror of
https://github.com/fluencelabs/musl
synced 2025-06-13 23:11:51 +00:00
fix locale environment variable logic for empty strings
per POSIX (XBD 8.2) LC_*/LANG environment variables set to to the empty string are supposed to be treated as if they were not set at all.
This commit is contained in:
@ -16,9 +16,9 @@ static const char envvars[][12] = {
|
|||||||
int __setlocalecat(locale_t loc, int cat, const char *val)
|
int __setlocalecat(locale_t loc, int cat, const char *val)
|
||||||
{
|
{
|
||||||
if (!*val) {
|
if (!*val) {
|
||||||
(val = getenv("LC_ALL")) ||
|
(val = getenv("LC_ALL")) && *val ||
|
||||||
(val = getenv(envvars[cat])) ||
|
(val = getenv(envvars[cat])) && *val ||
|
||||||
(val = getenv("LANG")) ||
|
(val = getenv("LANG")) && *val ||
|
||||||
(val = "C.UTF-8");
|
(val = "C.UTF-8");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user