Reading a write-only file doesn't set error condition (was Re: Cygwin fread on Write-Only File Descriptor returns undefined state)
Linda Walsh
cygwin@tlinx.org
Wed Jun 14 16:49:00 GMT 2006
Corinna Vinschen wrote:
>
>> In addition to fread not setting the error value, a value
>> of zero is returned. Zero is to be returned, *only* on
>> end-of-file or error. However, in the test case, neither
>>
>
> That's not correct. Any value less than size*nitems indicates either
> EOF or an error. The programmer is responsible to test with feof() or
> ferror() to distinguish between these two cases. See
>
----
Er, are you referring to the case of zero possibly being
a valid return value if the program requests zero bytes be read?
I didn't say "only 0"... I new about the other values<count,
but was focusing on the conditions that would exist only when
a 0 was returned for the return value.
> I debugged your testcase and the problem appears to be in __srefill(),
> defined in newlib/libc/stdio/refill.c:
>
....Cool!
Linda
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list