From: Glenn L McGrath Date: Sat, 30 Aug 2003 04:35:07 +0000 (-0000) Subject: Fix the substitution print subcommand, it should only print if its X-Git-Tag: 1_00_pre3~40 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9b04f1841eb4ef9b88e525796cd7230f6c3c1c6e;p=oweals%2Fbusybox.git Fix the substitution print subcommand, it should only print if its own substitution matched, not previous ones. e.g echo fooba | sed -n 's/foo//;s/bar/found/p' shouldnt print anything --- diff --git a/editors/sed.c b/editors/sed.c index 6beba0661..b06d5a8d8 100644 --- a/editors/sed.c +++ b/editors/sed.c @@ -839,7 +839,6 @@ static void process_file(FILE * file) still_in_range || ((sed_cmd->beg_line == -1) && (next_line == NULL)) ); - if (sed_cmd->cmd == '{') { block_mask = block_mask & matched; } @@ -925,7 +924,7 @@ static void process_file(FILE * file) } } #endif - altered |= substituted; + altered = substituted; if (!be_quiet && altered && ((sed_cmd->next == NULL) || (sed_cmd->next->cmd != 's'))) { force_print = 1;