This is the mail archive of the
mailing list for the Cygwin project.
Re: short fread(), but no ferror/feof
- From: Christopher Faylor <cgf-no-personal-reply-please at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Sun, 5 Dec 2004 12:43:36 -0500
- Subject: Re: short fread(), but no ferror/feof
- References: <Pine.GSO.4.51L2.email@example.com>
- Reply-to: cygwin at cygwin dot com
On Sun, Dec 05, 2004 at 05:17:46PM +0100, Peter ?strand wrote:
>I've discovered that fread(ptr, size, nitems, stream) sometimes returns a
>value less than "nitems", but does not set feof() nor ferror(). As I
>understand, this is incorrect: All fread() documentation I've found
>confirms this. For example, IEEE Std 1003.1 says:
>"Upon successful completion, fread() shall return the number of elements
>successfully read which is less than nitems only if a read error or
>end-of-file is encountered."
>I've only noticed the problem when using fread() on a pipe, and when
>setting a (another) file descriptor in the same application in
>close-on-exec mode. The details are on http://python.org/sf/1071516. I've
>been using the latest Cygwin (as of 2004-12-04) on Windows 98.
>To me, this looks like a Cygwin bug. Any ideas?
A simple, compilable test case with results shown on both linux and
cygwin would prove your theory.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html