]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Revert the du.c part of the change from 2005-07-02:
authorJim Meyering <jim@meyering.net>
Sat, 27 Aug 2005 18:12:54 +0000 (18:12 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 27 Aug 2005 18:12:54 +0000 (18:12 +0000)
That change (to reopen stdin on F for --files0-from=F) made it so
--exclude-from=- and --files0-from=F would not work together.

src/du.c

index df5088e303169a6446bd830ac99cd25c29c513b3..a8fb2ed107064dfdc568e0f431c39f3a51524a45 100644 (file)
--- a/src/du.c
+++ b/src/du.c
@@ -928,6 +928,8 @@ main (int argc, char **argv)
 
   if (files_from)
     {
+      FILE *istream;
+
       /* When using --files0-from=F, you may not specify any files
         on the command-line.  */
       if (optind < argc)
@@ -938,13 +940,14 @@ main (int argc, char **argv)
          usage (EXIT_FAILURE);
        }
 
-      if (! (STREQ (files_from, "-") || freopen (files_from, "r", stdin)))
+      istream = (STREQ (files_from, "-") ? stdin : fopen (files_from, "r"));
+      if (istream == NULL)
        error (EXIT_FAILURE, errno, _("cannot open %s for reading"),
               quote (files_from));
 
       readtokens0_init (&tok);
 
-      if (! readtokens0 (stdin, &tok) || fclose (stdin) != 0)
+      if (! readtokens0 (istream, &tok) || fclose (istream) != 0)
        error (EXIT_FAILURE, 0, _("cannot read file names from %s"),
               quote (files_from));