From 259c7efcf8c3808d8151d8e15f1167ad2b6f2ca7 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 15 Sep 2024 14:09:49 -0400 Subject: Make sure that escape sequences don't accidentally trigger the next backslash to be interpreted as an escape sequence when printing quoted text --- stdlib/text.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'stdlib') diff --git a/stdlib/text.c b/stdlib/text.c index 39b97962..ec54a5d1 100644 --- a/stdlib/text.c +++ b/stdlib/text.c @@ -1044,6 +1044,13 @@ static inline Text_t _quoted(Text_t text, bool colorize, char quote_char) case '\r': add_escaped("r"); break; case '\t': add_escaped("t"); break; case '\v': add_escaped("v"); break; + case '\\': { + if (just_escaped) + add_escaped("\\"); + else + add_char('\\'); + break; + } case '$': if (quote_char == '\'') add_char('$'); else add_escaped("$"); break; case '\x00' ... '\x06': case '\x0E' ... '\x1A': case '\x1C' ... '\x1F': case '\x7F' ... '\x7F': { -- cgit v1.2.3