sed: accept -E as a synonym for -r
Signed-off-by: David A. Wheeler <dwheeler@dwheeler.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
2d576e2a22
commit
af0cdeedc6
@ -1435,15 +1435,21 @@ int sed_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
IF_LONG_OPTS(applet_long_options = sed_longopts);
|
IF_LONG_OPTS(applet_long_options = sed_longopts);
|
||||||
|
|
||||||
/* -i must be first, to match OPT_in_place definition */
|
/* -i must be first, to match OPT_in_place definition */
|
||||||
opt = getopt32(argv, "i::rne:f:", &opt_i, &opt_e, &opt_f,
|
/* -E is a synonym of -r:
|
||||||
|
* GNU sed 4.2.1 mentions it in neither --help
|
||||||
|
* nor manpage, but does recognize it.
|
||||||
|
*/
|
||||||
|
opt = getopt32(argv, "i::rEne:f:", &opt_i, &opt_e, &opt_f,
|
||||||
&G.be_quiet); /* counter for -n */
|
&G.be_quiet); /* counter for -n */
|
||||||
//argc -= optind;
|
//argc -= optind;
|
||||||
argv += optind;
|
argv += optind;
|
||||||
if (opt & OPT_in_place) { // -i
|
if (opt & OPT_in_place) { // -i
|
||||||
atexit(cleanup_outname);
|
atexit(cleanup_outname);
|
||||||
}
|
}
|
||||||
if (opt & 0x2) G.regex_type |= REG_EXTENDED; // -r
|
if (opt & (2|4))
|
||||||
//if (opt & 0x4) G.be_quiet++; // -n
|
G.regex_type |= REG_EXTENDED; // -r or -E
|
||||||
|
//if (opt & 8)
|
||||||
|
// G.be_quiet++; // -n (implemented with a counter instead)
|
||||||
while (opt_e) { // -e
|
while (opt_e) { // -e
|
||||||
add_cmd_block(llist_pop(&opt_e));
|
add_cmd_block(llist_pop(&opt_e));
|
||||||
}
|
}
|
||||||
@ -1458,7 +1464,7 @@ int sed_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
fclose(cmdfile);
|
fclose(cmdfile);
|
||||||
}
|
}
|
||||||
/* if we didn't get a pattern from -e or -f, use argv[0] */
|
/* if we didn't get a pattern from -e or -f, use argv[0] */
|
||||||
if (!(opt & 0x18)) {
|
if (!(opt & 0x30)) {
|
||||||
if (!*argv)
|
if (!*argv)
|
||||||
bb_show_usage();
|
bb_show_usage();
|
||||||
add_cmd_block(*argv++);
|
add_cmd_block(*argv++);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user