utf8: refactor code to decide fallback encoding
authorJunio C Hamano <gitster@pobox.com>
Tue, 27 Sep 2016 01:09:48 +0000 (18:09 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 27 Sep 2016 01:16:23 +0000 (18:16 -0700)
commit3270741ea8c2a225183d272bf19ea19d5b3c05d8
tree5307896f3fe6a1c53b82b080fcfe3e569c3daf78
parent0b65a8dbdb38962e700ee16776a3042beb489060
utf8: refactor code to decide fallback encoding

The codepath we use to call iconv_open() has a provision to use a
fallback encoding when it fails, hoping that "UTF-8" being spelled
differently could be the reason why the library function did not
like the encoding names we gave it.  Essentially, we turn what we
have observed to be used as variants of "UTF-8" (e.g. "utf8") into
the most official spelling and use that as a fallback.

We do the same thing for input and output encoding.  Introduce a
helper function to do just one side and call that twice.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
utf8.c