diff --git a/usr.bin/sed/compile.c b/usr.bin/sed/compile.c index 4427faeff4a2..df64a5c598c2 100644 --- a/usr.bin/sed/compile.c +++ b/usr.bin/sed/compile.c @@ -393,11 +393,11 @@ compile_delimited(char *p, char *d, int is_tr) if ((d = compile_ccl(&p, d)) == NULL) errx(1, "%lu: %s: unbalanced brackets ([])", linenum, fname); continue; + } else if (*p == '\\' && p[1] == c) { + p++; } else if (*p == '\\' && p[1] == '[') { *d++ = *p++; - } else if (*p == '\\' && p[1] == c) - p++; - else if (*p == '\\' && p[1] == 'n') { + } else if (*p == '\\' && p[1] == 'n') { *d++ = '\n'; p += 2; continue;