diff --git a/src/shared/pretty-print.c b/src/shared/pretty-print.c index e7360352b3..4eb4858931 100644 --- a/src/shared/pretty-print.c +++ b/src/shared/pretty-print.c @@ -250,13 +250,23 @@ static int cat_file(const char *filename, bool newline, CatFlags flags) { /* Check if the line ends with a backslash. */ bool escaped = false; - for (const char *e = line; *e != '\0'; e++) { + char *e; + for (e = line; *e != '\0'; e++) { if (escaped) escaped = false; else if (*e == '\\') escaped = true; } + /* Highlight the trailing backslash. */ + if (escaped) { + assert(e > line); + *(e-1) = '\0'; + + if (!strextend(&line, ansi_highlight_red(), "\\", ansi_normal())) + return log_oom(); + } + /* Highlight the left side (directive) of a Foo=bar assignment */ if (FLAGS_SET(flags, CAT_FORMAT_HAS_SECTIONS) && !continued) { const char *p = strchr(line, '=');