diff options
-rw-r--r-- | libbb/process_escape_sequence.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/libbb/process_escape_sequence.c b/libbb/process_escape_sequence.c index 4d03bd61f..6de2cacdd 100644 --- a/libbb/process_escape_sequence.c +++ b/libbb/process_escape_sequence.c @@ -18,17 +18,20 @@ char FAST_FUNC bb_process_escape_sequence(const char **ptr) { + /* bash builtin "echo -e '\ec'" interprets \e as ESC, + * but coreutils "/bin/echo -e '\ec'" does not. + * manpages tend to support coreutils way. */ static const char charmap[] ALIGN1 = { - 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', 0, - '\a', '\b', '\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; const char *q; - unsigned int num_digits; - unsigned int r; - unsigned int n; - unsigned int d; - unsigned int base; + unsigned num_digits; + unsigned r; + unsigned n; + unsigned d; + unsigned base; num_digits = n = 0; base = 8; |