sed: support "-f -" idiom

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2016-04-08 00:20:36 +02:00
parent d7d4750e1e
commit e4d925b889

View File

@ -1507,12 +1507,12 @@ int sed_main(int argc UNUSED_PARAM, char **argv)
while (opt_f) { // -f while (opt_f) { // -f
char *line; char *line;
FILE *cmdfile; FILE *cmdfile;
cmdfile = xfopen_for_read(llist_pop(&opt_f)); cmdfile = xfopen_stdin(llist_pop(&opt_f));
while ((line = xmalloc_fgetline(cmdfile)) != NULL) { while ((line = xmalloc_fgetline(cmdfile)) != NULL) {
add_cmd(line); add_cmd(line);
free(line); free(line);
} }
fclose(cmdfile); fclose_if_not_stdin(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 & 0x30)) { if (!(opt & 0x30)) {