From 39b8ce66f2ed9c17427ec3a48be9bda29b93b9d7 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 21 May 2015 17:01:23 -0400 Subject: [PATCH] in iconv_open, accept "CHAR" and "" as aliases for "UTF-8" while not a requirement, it's common convention in other iconv implementations to accept "CHAR" as an alias for nl_langinfo(CODESET), meaning the encoding used for char[] strings in the current locale, and also "" as an alternate form. supporting this is not costly and improves compatibility. --- src/locale/iconv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/locale/iconv.c b/src/locale/iconv.c index a0b02320..3c20c898 100644 --- a/src/locale/iconv.c +++ b/src/locale/iconv.c @@ -35,7 +35,7 @@ * 3. Character table (size determined by field 2). */ static const unsigned char charmaps[] = -"utf8\0\0\310" +"utf8\0char\0\0\310" "wchart\0\0\306" "ucs2\0ucs2be\0\0\304" "ucs2le\0\0\305" @@ -90,6 +90,7 @@ static int fuzzycmp(const unsigned char *a, const unsigned char *b) static size_t find_charmap(const void *name) { const unsigned char *s; + if (!*(char *)name) name=charmaps; /* "utf8" */ for (s=charmaps; *s; ) { if (!fuzzycmp(name, s)) { for (; *s; s+=strlen((void *)s)+1); -- 2.25.1