src/fcdefault.c | 16 ++++++++++++++++ 1 files changed, 16 insertions(+) New commits: diff-tree 5d2f7a9d9224d4df1655cd1d6fd72646734b0272 (from f6cfbe16bfc252b46532f699b496e4a41a1a1c22) Author: Keith Packard <keithp@neko.keithp.com> Date: Sat Sep 9 10:04:42 2006 -0700 Accept locale environment variables that do not contain territory. Locale environment variables (LC_ALL, LC_CTYPE, LANG) must contain language, and may contain territory and encoding. Don''t accidentally require territory as that will cause fontconfig to fall back to ''en''. diff --git a/src/fcdefault.c b/src/fcdefault.c index ddf4237..4e5823b 100644 --- a/src/fcdefault.c +++ b/src/fcdefault.c @@ -91,6 +91,22 @@ FcGetDefaultLang (void) lang_local[lang_len + 1 + territory_len] = ''\0''; } } + else + { + after = strchr (ctype, ''.''); + if (!after) + { + after = strchr (ctype, ''@''); + if (!after) + after = ctype + strlen (ctype); + } + lang_len = after - ctype; + if (lang_len + 1 <= (int) sizeof (lang_local)) + { + strncpy (lang_local, ctype, lang_len); + lang_local[lang_len] = ''\0''; + } + } } /* set default lang to en */