diff options
| author | Bruce Evans <bde@FreeBSD.org> | 1996-07-17 12:18:51 +0000 |
|---|---|---|
| committer | Bruce Evans <bde@FreeBSD.org> | 1996-07-17 12:18:51 +0000 |
| commit | 49e6559936430229f6c321fcdd37c8df7f02e74f (patch) | |
| tree | e68937593ee3120bbb27a67fb5310f4309cd65c3 | |
| parent | 65d98215eac77e7d70c1de7280b1d81b97d74277 (diff) | |
Notes
| -rw-r--r-- | usr.bin/sed/compile.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/usr.bin/sed/compile.c b/usr.bin/sed/compile.c index 7e113823a66f..c1bb8f9e89a9 100644 --- a/usr.bin/sed/compile.c +++ b/usr.bin/sed/compile.c @@ -615,7 +615,7 @@ compile_tr(p, transtab) static char * compile_text() { - int asize, size; + int asize, esc_nl, size; char *text, *p, *op, *s; char lbuf[_POSIX2_LINE_MAX + 1]; @@ -626,13 +626,13 @@ compile_text() op = s = text + size; p = lbuf; EATSPACE(); - for (; *p != '\0'; p++) { - if (*p == '\\') - *p++ = '\0'; + for (esc_nl = 0; *p != '\0'; p++) { + if (*p == '\\' && p[1] != '\0' && *++p == '\n') + esc_nl = 1; *s++ = *p; } size += s - op; - if (p[-2] != '\0') { + if (!esc_nl) { *s = '\0'; break; } |
