Subject: Re: bug#23073: wc reports wrong byte counts when using '--from-files0=-'

From: Jim Meyering <[email-masked]>
Date: Mon, 21 Mar 2016 11:44:06 -0700

On Sun, Mar 20, 2016 at 5:59 PM, William R. Fraser <[email-masked]> wrote:
> When wc gets its list of files by reading from stdin, using the argument
> '--from-files0=-', it reuses the same fstatus struct for each file.
>
> The problem is that the 'wc' function checks the 'failed' member of this
> struct and if it is <=0, it skips doing fstat on the file. The main loop
> doesn't reset this value between files, so only the first file has fstat
> done on it.
>
> This can result in the 'wc' function seeking past the end of subsequent
> files and then over-reporting their byte counts.
>
> See the attached patch, which resets the fstatus struct in between files
> when reading the file list from stdin.

Thank you for the patch and report for what looks like
a bug in code I wrote.