Starting with commit 55c46b dash removes CTLESC bytes ('\x81') from read sequence. This leads to breakage of some UTF8 characters. Like in commit f8231a, this change fixes corruption by removing the faulty code. Testcase: $ /usr/bin/printf '[\u0441]\n' [Ñ] $ /usr/bin/printf '[\u0441]\n' |dash -c 'read c; printf "%s\n" "$c"' [Ã] Signed-off-by: Alexey Gladkov <gladkov.alexey@xxxxxxxxx> --- src/miscbltin.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/src/miscbltin.c b/src/miscbltin.c index 653c92f..4e88e8d 100644 --- a/src/miscbltin.c +++ b/src/miscbltin.c @@ -112,14 +112,12 @@ readcmd_handle_line(char *line, char **ap, size_t len) * will not modify the length of the string */ offset = sl->text - s; remainder = backup + offset; - rmescapes(remainder); setvar(*ap, remainder, 0); return; } /* set variable to field */ - rmescapes(sl->text); setvar(*ap, sl->text, 0); sl = sl->next; } while (*++ap); -- 1.7.3.5 -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html