sed: slightly better fix for prev commit's problem
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
e39afe1fbd
commit
b84dafb5e5
@ -741,9 +741,9 @@ static int do_subst_command(sed_cmd_t *sed_cmd, char **line_p)
|
|||||||
* The match_count check is so not to break
|
* The match_count check is so not to break
|
||||||
* echo "hi" | busybox sed 's/^/!/g'
|
* echo "hi" | busybox sed 's/^/!/g'
|
||||||
*/
|
*/
|
||||||
if (!G.regmatch[0].rm_so && !G.regmatch[0].rm_eo && match_count && *line) {
|
if (!G.regmatch[0].rm_so && !G.regmatch[0].rm_eo && match_count) {
|
||||||
pipe_putc(*line++);
|
pipe_putc(*line++);
|
||||||
continue;
|
goto next;
|
||||||
}
|
}
|
||||||
|
|
||||||
match_count++;
|
match_count++;
|
||||||
@ -755,7 +755,7 @@ static int do_subst_command(sed_cmd_t *sed_cmd, char **line_p)
|
|||||||
) {
|
) {
|
||||||
for (i = 0; i < G.regmatch[0].rm_eo; i++)
|
for (i = 0; i < G.regmatch[0].rm_eo; i++)
|
||||||
pipe_putc(*line++);
|
pipe_putc(*line++);
|
||||||
continue;
|
goto next;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* print everything before the match */
|
/* print everything before the match */
|
||||||
@ -773,7 +773,7 @@ static int do_subst_command(sed_cmd_t *sed_cmd, char **line_p)
|
|||||||
/* if we're not doing this globally, get out now */
|
/* if we're not doing this globally, get out now */
|
||||||
if (sed_cmd->which_match != 0)
|
if (sed_cmd->which_match != 0)
|
||||||
break;
|
break;
|
||||||
|
next:
|
||||||
if (*line == '\0')
|
if (*line == '\0')
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user