summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>1996-07-17 12:18:51 +0000
committerBruce Evans <bde@FreeBSD.org>1996-07-17 12:18:51 +0000
commit49e6559936430229f6c321fcdd37c8df7f02e74f (patch)
treee68937593ee3120bbb27a67fb5310f4309cd65c3
parent65d98215eac77e7d70c1de7280b1d81b97d74277 (diff)
Notes
-rw-r--r--usr.bin/sed/compile.c10
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;
}