This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Reading a write-only file doesn't set error condition (was Re: Cygwin fread on Write-Only File Descriptor returns undefined state)

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:


-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]