3 #include "locale_impl.h"
7 static const char envvars[][12] = {
16 int __setlocalecat(locale_t loc, int cat, const char *val)
19 (val = getenv("LC_ALL")) ||
20 (val = getenv(envvars[cat])) ||
21 (val = getenv("LANG")) ||
25 size_t n = strnlen(val, LOCALE_NAME_MAX);
26 int builtin = (val[0]=='C' && !val[1])
27 || !strcmp(val, "C.UTF-8")
28 || !strcmp(val, "POSIX");
32 a_store(&loc->ctype_utf8, !builtin || val[1]=='.');
36 loc->messages_name[0] = 0;
38 memcpy(loc->messages_name, val, n);
39 loc->messages_name[n] = 0;