X-Spam-Check-By: sourceware.org
Message-ID: <4490370B.7080609@tlinx.org>
Date: Wed, 14 Jun 2006 09:19:23 -0700
From: Linda Walsh <cygwin@tlinx.org>
User-Agent: Thunderbird 1.5.0.4 (Windows/20060516)
MIME-Version: 1.0
To: newlib@sourceware.org, cygwin@cygwin.com
Subject: Re: Reading a write-only file doesn't set error condition (was Re:  Cygwin fread on Write-Only File Descriptor returns undefined state)
References: <448F9EA1.7050908@tlinx.org> <20060614082441.GA6326@calimero.vinschen.de>
In-Reply-To: <20060614082441.GA6326@calimero.vinschen.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

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/

