aboutsummaryrefslogtreecommitdiff
path: root/toys/posix/iconv.c
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2019-11-22 13:34:01 -0800
committerRob Landley <rob@landley.net>2019-11-23 10:03:43 -0600
commitd2f6a12763b09ecd0c627c2d86d8b86fb4b62113 (patch)
treef792a16abbafdc91ec5a0ef4265e4951acafa4c4 /toys/posix/iconv.c
parentdeee4f033f190e59eedc82e73b94b6b4b97d0a6f (diff)
downloadtoybox-d2f6a12763b09ecd0c627c2d86d8b86fb4b62113.tar.gz
Fix iconv and tests on Mac.
The Mac iconv_open(3) doesn't follow Unicode TR#22 rules for charset alias matching that bionic and glibc do (and, strictly, POSIX doesn't say you have to even though it's obviously a good idea), so we have to say exactly "UTF-8" rather than "utf8". Additionally, the 2006-era bash 3.2 on current versions of macOS (because it was the last GPLv2 bash) seems to have bugs that cause it to mangle UTF-8 input, so we can't reliably echo a UTF-8 sequence into a file. Use \x in the tests to work around this.
Diffstat (limited to 'toys/posix/iconv.c')
-rw-r--r--toys/posix/iconv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/toys/posix/iconv.c b/toys/posix/iconv.c
index ce375b4a..d2721672 100644
--- a/toys/posix/iconv.c
+++ b/toys/posix/iconv.c
@@ -18,8 +18,8 @@ config ICONV
Convert character encoding of files.
-c Omit invalid chars
- -f Convert from (default utf8)
- -t Convert to (default utf8)
+ -f Convert from (default UTF-8)
+ -t Convert to (default UTF-8)
*/
#define FOR_iconv
@@ -63,8 +63,8 @@ static void do_iconv(int fd, char *name)
void iconv_main(void)
{
- if (!TT.t) TT.t = "utf8";
- if (!TT.f) TT.f = "utf8";
+ if (!TT.t) TT.t = "UTF-8";
+ if (!TT.f) TT.f = "UTF-8";
if ((iconv_t)-1 == (TT.ic = iconv_open(TT.t, TT.f)))
perror_exit("%s/%s", TT.t, TT.f);