From a2d27a19197cc5ed787dc2439df0cae58053ea2c Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 25 Oct 2010 12:14:21 +0200 Subject: [PATCH] libbb/process_escape_sequence.c: fix recently broken handling of \\ Signed-off-by: Denys Vlasenko --- libbb/process_escape_sequence.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libbb/process_escape_sequence.c b/libbb/process_escape_sequence.c index 7b1d97f9c..346ecfa1e 100644 --- a/libbb/process_escape_sequence.c +++ b/libbb/process_escape_sequence.c @@ -75,8 +75,8 @@ char FAST_FUNC bb_process_escape_sequence(const char **ptr) * Manpages tend to support coreutils way. * Update: coreutils added support for \e on 28 Oct 2009. */ static const char charmap[] ALIGN1 = { - 'a', 'b', 'e', 'f', 'n', 'r', 't', 'v', '\\', - '\a', '\b', 27, '\f', '\n', '\r', '\t', '\v', '\\', + 'a', 'b', 'e', 'f', 'n', 'r', 't', 'v', '\\', '\0', + '\a', '\b', 27, '\f', '\n', '\r', '\t', '\v', '\\', '\\', }; const char *p = charmap; do { @@ -84,8 +84,8 @@ char FAST_FUNC bb_process_escape_sequence(const char **ptr) q++; break; } - } while (*++p != '\\'); - /* p points to found escape char or '\', + } while (*++p != '\0'); + /* p points to found escape char or NUL, * advance it and find what it translates to. * Note that \NUL and unrecognized sequence \z return '\' * and leave ptr pointing to NUL or z. */ -- 2.25.1