From 53d8a6707e3cf635004927a920c8b7fa967ea966 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 15 Dec 2023 04:44:53 -0600 Subject: [PATCH] Exit with (eventual) error if any characters failed to convert without -c. --- toys/posix/iconv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/toys/posix/iconv.c b/toys/posix/iconv.c index 0674f3db..1d8f40b1 100644 --- a/toys/posix/iconv.c +++ b/toys/posix/iconv.c @@ -51,8 +51,11 @@ static void do_iconv(int fd, char *name) iconv(TT.ic, &in, &inlen, &out, &outlen); if (in == toybuf) { // Skip first byte of illegal sequence to avoid endless loops - if (toys.optflags & FLAG_c) in++; - else *(out++) = *(in++); + if (FLAG(c)) in++; + else { + *(out++) = *(in++); + toys.exitval = 1; + } inlen--; } if (out != outstart) xwrite(1, outstart, out-outstart); -- 2.39.2