summaryrefslogtreecommitdiff
path: root/src/wc.c
diff options
context:
space:
mode:
authorWilliam R. Fraser <wfraser@codewise.org>2016-03-20 17:44:09 -0700
committerPádraig Brady <P@draigBrady.com>2016-12-19 20:13:51 +0000
commit9944e4763bb178852727812e8b188540772384e2 (patch)
tree02803ee9f30391c6c9c1520fd61fe7f57099af95 /src/wc.c
parentf071b04afaeefbf6c37a00986fec02b8df5e9560 (diff)
downloadcoreutils-9944e4763bb178852727812e8b188540772384e2.tar.xz
wc: fix wrong byte counts when using --files-from0
* src/wc.c (main): Reset fstatus[0].failed between files when reusing the fstatus[0] entry in --files-from0 mode. This ensures a stat() is done for each file, avoiding incorrect counts and redundant reading. * NEWS: Mention the bug fix. * tests/misc/wc-files0.sh: Add a test case. Fixes http://bugs.gnu.org/23073
Diffstat (limited to 'src/wc.c')
-rw-r--r--src/wc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/wc.c b/src/wc.c
index 412bda0db..64df50cd9 100644
--- a/src/wc.c
+++ b/src/wc.c
@@ -807,6 +807,9 @@ main (int argc, char **argv)
ok = false;
else
ok &= wc_file (file_name, &fstatus[nfiles ? i : 0]);
+
+ if (! nfiles)
+ fstatus[0].failed = 1;
}
argv_iter_done: