summaryrefslogtreecommitdiff
path: root/utf8.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-09-27 01:09:48 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-09-27 01:16:23 (GMT)
commitdf3755888b9a54e69ab70881738d431587c57951 (patch)
treeb1acb494456ae833f05aab6b9c51461434688729 /utf8.c
parent3270741ea8c2a225183d272bf19ea19d5b3c05d8 (diff)
downloadgit-df3755888b9a54e69ab70881738d431587c57951.zip
git-df3755888b9a54e69ab70881738d431587c57951.tar.gz
git-df3755888b9a54e69ab70881738d431587c57951.tar.bz2
utf8: accept "latin-1" as ISO-8859-1
Even though latin-1 is still seen in e-mail headers, some platforms only install ISO-8859-1. "iconv -f ISO-8859-1" succeeds, while "iconv -f latin-1" fails on such a system. Using the same fallback_encoding() mechanism factored out in the previous step, teach ourselves that "ISO-8859-1" has a better chance of being accepted than "latin-1". Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'utf8.c')
-rw-r--r--utf8.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/utf8.c b/utf8.c
index 550e785..0c8e011 100644
--- a/utf8.c
+++ b/utf8.c
@@ -501,6 +501,13 @@ static const char *fallback_encoding(const char *name)
if (is_encoding_utf8(name))
return "UTF-8";
+ /*
+ * Even though latin-1 is still seen in e-mail
+ * headers, some platforms only install ISO-8859-1.
+ */
+ if (!strcasecmp(name, "latin-1"))
+ return "ISO-8859-1";
+
return name;
}