sed: Simplify next_file slightly

This commit is contained in:
Michael Forney 2020-02-20 21:39:28 -08:00
parent 5cf4544f2c
commit 71154d42aa
1 changed files with 8 additions and 11 deletions

19
sed.c
View File

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