summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Whitley2001-03-26 16:47:57 +0000
committerMark Whitley2001-03-26 16:47:57 +0000
commitaf633757d3a7c2830851446278161618141f2e54 (patch)
tree3682ab34bf3dd8351fa27e55e9ed3385b8bc6849
parent049dc25fe77b1225d50460800b911d765f120e85 (diff)
downloadbusybox-af633757d3a7c2830851446278161618141f2e54.zip
busybox-af633757d3a7c2830851446278161618141f2e54.tar.gz
Applied patch from Anthony Towns that he posted to Debian bug tracking.
-rw-r--r--editors/sed.c5
-rw-r--r--sed.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/editors/sed.c b/editors/sed.c
index a18f6e5..897c290 100644
--- a/editors/sed.c
+++ b/editors/sed.c
@@ -622,9 +622,10 @@ static void process_file(FILE *file)
if (sed_cmds[i].beg_match && sed_cmds[i].end_match) {
if (still_in_range || regexec(sed_cmds[i].beg_match, line, 0, NULL, 0) == 0) {
line_altered += do_sed_command(&sed_cmds[i], line);
- still_in_range = 1;
- if (regexec(sed_cmds[i].end_match, line, 0, NULL, 0) == 0)
+ if (still_in_range && regexec(sed_cmds[i].end_match, line, 0, NULL, 0) == 0)
still_in_range = 0;
+ else
+ still_in_range = 1;
}
}
diff --git a/sed.c b/sed.c
index a18f6e5..897c290 100644
--- a/sed.c
+++ b/sed.c
@@ -622,9 +622,10 @@ static void process_file(FILE *file)
if (sed_cmds[i].beg_match && sed_cmds[i].end_match) {
if (still_in_range || regexec(sed_cmds[i].beg_match, line, 0, NULL, 0) == 0) {
line_altered += do_sed_command(&sed_cmds[i], line);
- still_in_range = 1;
- if (regexec(sed_cmds[i].end_match, line, 0, NULL, 0) == 0)
+ if (still_in_range && regexec(sed_cmds[i].end_match, line, 0, NULL, 0) == 0)
still_in_range = 0;
+ else
+ still_in_range = 1;
}
}