From 509e46c548dd3e62c107a7b2c0c14e2ed206b2bf Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 27 Aug 2005 18:12:54 +0000 Subject: Revert the du.c part of the change from 2005-07-02: 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 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/du.c b/src/du.c index df5088e30..a8fb2ed10 100644 --- 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)); -- cgit v1.2.3-54-g00ecf