commit 71154d42aa8909854d3f292dcfc49da5c915a207
Author:     Michael Forney <[email protected]>
AuthorDate: Thu Feb 20 21:39:28 2020 -0800
Commit:     Michael Forney <[email protected]>
CommitDate: Thu Feb 20 21:47:26 2020 -0800

    sed: Simplify next_file slightly

diff --git a/sed.c b/sed.c
index b419c56..2f4eae2 100644
--- a/sed.c
+++ b/sed.c
@@ -1119,23 +1119,20 @@ next_file(void)
                clearerr(file);
        else if (file)
                fshut(file, "<file>");
-       file = NULL;
-
-       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, "-")) {
+       /* given no files, default to stdin */
+       file = first && !*files ? stdin : NULL;
+       first = 0;
+
+       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;
 }

Reply via email to