bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getndelim2 improvements


From: Eric Blake
Subject: Re: getndelim2 improvements
Date: Thu, 1 May 2008 17:45:22 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Bruno Haible <bruno <at> clisp.org> writes:

>   3. At least one byte is read, but not stored (due to nmax), and no error.
>      Return value was 0 and is now -1.

You are right that the program can usefully distinguish between -1 and 0 here 
(with getdelim, there is no nmax parameter, hence getdelim can never return 0).

> 
>   4. EOF when reading the first byte, no error, and offset > 0.
>      Return value was 0 and is now -1.

I still think this case is like getdelim failing at EOF, particularly since...

> 
>   5. EOF when reading the first byte, no error, and offset == 0.
>      Return value is -1.

offset should not need to be consulted if the stream is already at EOF.

> 
> The change in cases 3 and 4
>   - is IMO not appropriate, since the inability to _extend_ the current
>     line (due to nmax or EOF) does not mean that the part of the line that
>     was read so far should be ignored,
>   - should have been mentioned in NEWS as a behaviour change of getndelim,
>   - cannot be justified by pointing to getdelim in POSIX, because getdelim
>     does not have the nmax and offset arguments.
> 
> I am in favour of reverting this change, and adding comments to clarify the
> 5 possible outcomes of getndelim2.

Yes, we can revert this part of the patch, and improve the documentation.  It 
also means we need to beef up the testcase to stress all 5 conditions, and 
ensure we don't regress from the more-heavily documented interface.

-- 
Eric Blake








reply via email to

[Prev in Thread] Current Thread [Next in Thread]