mirror of
https://github.com/sheumann/hush.git
synced 2024-12-27 01:32:08 +00:00
The previous fix for 's/a/1/;s/b/2/;t one;p;:one;p' broke the case of
echo fooba | ./busybox sed -n 's/foo//;s/bar/found/p' I really need to start adding these tests to the testsuite. keep the substituted and altered flags seperate
This commit is contained in:
parent
3fe475677a
commit
edc388cf4e
@ -915,8 +915,7 @@ static void process_file(FILE * file)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
altered = substituted;
|
if (!be_quiet && substituted && ((sed_cmd->next == NULL)
|
||||||
if (!be_quiet && altered && ((sed_cmd->next == NULL)
|
|
||||||
|| (sed_cmd->next->cmd != 's'))) {
|
|| (sed_cmd->next->cmd != 's'))) {
|
||||||
force_print = 1;
|
force_print = 1;
|
||||||
}
|
}
|
||||||
@ -1105,7 +1104,7 @@ static void process_file(FILE * file)
|
|||||||
/* we will print the line unless we were told to be quiet or if the
|
/* we will print the line unless we were told to be quiet or if the
|
||||||
* line was altered (via a 'd'elete or 's'ubstitution), in which case
|
* line was altered (via a 'd'elete or 's'ubstitution), in which case
|
||||||
* the altered line was already printed */
|
* the altered line was already printed */
|
||||||
if ((!be_quiet && !altered) || force_print) {
|
if ((!be_quiet && !altered && !substituted) || force_print) {
|
||||||
puts(pattern_space);
|
puts(pattern_space);
|
||||||
}
|
}
|
||||||
free(pattern_space);
|
free(pattern_space);
|
||||||
|
Loading…
Reference in New Issue
Block a user