sed: Simplify next_file slightly

This commit is contained in:
Michael Forney 2020-02-20 21:39:28 -08:00
parent 5cf4544f2c
commit 71154d42aa

19
sed.c
View File

@ -1119,23 +1119,20 @@ next_file(void)
clearerr(file); clearerr(file);
else if (file) else if (file)
fshut(file, "<file>"); fshut(file, "<file>");
file = NULL; /* given no files, default to stdin */
file = first && !*files ? stdin : NULL;
first = 0;
do { while (!file && *files) {
if (!*files) { if (!strcmp(*files, "-")) {
if (first) /* given no files, default to stdin */
file = stdin; file = stdin;
/* else we've used all our files, leave file = NULL */ } else if (!(file = fopen(*files, "r"))) {
} else if (!strcmp(*files, "-")) {
file = stdin;
files++;
} else if (!(file = fopen(*files++, "r"))) {
/* warn this file didn't open, but move on to next */ /* warn this file didn't open, but move on to next */
weprintf("fopen:"); weprintf("fopen:");
ret = 1; ret = 1;
} }
} while (!file && *files); files++;
first = 0; }
return !file; return !file;
} }