mirror of
https://github.com/fluencelabs/musl
synced 2025-06-12 22:41:37 +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)
|
||||
{
|
||||
if (!*val) {
|
||||
(val = getenv("LC_ALL")) ||
|
||||
(val = getenv(envvars[cat])) ||
|
||||
(val = getenv("LANG")) ||
|
||||
(val = getenv("LC_ALL")) && *val ||
|
||||
(val = getenv(envvars[cat])) && *val ||
|
||||
(val = getenv("LANG")) && *val ||
|
||||
(val = "C.UTF-8");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user