diff options
Diffstat (limited to 'libwc/charset.c')
-rw-r--r-- | libwc/charset.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libwc/charset.c b/libwc/charset.c index 95343b3..d86a129 100644 --- a/libwc/charset.c +++ b/libwc/charset.c @@ -6,6 +6,10 @@ #include "wc.h" +#ifdef HAVE_LANGINFO_CODESET +#include <langinfo.h> +#endif + wc_locale WcLocale = 0; static struct { @@ -369,6 +373,13 @@ wc_locale_to_ces(char *locale) if (*p == 'C' && *(p+1) == '\0') return WC_CES_US_ASCII; +#ifdef HAVE_LANGINFO_CODESET + { + char *cs = nl_langinfo(CODESET); + if (cs && strcmp(cs, "US-ASCII")) + return wc_charset_to_ces(cs); + } +#endif for (n = 0; *p && *p != '.' && n < 5; p++) { if ((unsigned char)*p > 0x20) buf[n++] = tolower(*p); |