* editors/sed.c (process_file): Stop processing deleted lines.

* testsuite/sed/sed-does-not-substitute-in-delete-line: New.
This commit is contained in:
Matt Kraai 2002-04-01 16:17:37 +00:00
parent 75ce8d7c88
commit 5c69cd84ff
2 changed files with 7 additions and 0 deletions

View File

@ -659,6 +659,7 @@ static void process_file(FILE *file)
/* we are currently within the beginning & ending address range */ /* we are currently within the beginning & ending address range */
still_in_range still_in_range
) { ) {
int deleted = 0;
/* /*
* actual sedding * actual sedding
@ -671,6 +672,7 @@ static void process_file(FILE *file)
case 'd': case 'd':
altered++; altered++;
deleted = 1;
break; break;
case 's': case 's':
@ -772,6 +774,9 @@ static void process_file(FILE *file)
else { else {
still_in_range = 1; still_in_range = 1;
} }
if (deleted)
break;
} }
} }

View File

@ -0,0 +1,2 @@
echo foo | busybox sed -e /foo/d -e s/foo/bar/ >foo
cmp foo /dev/null