On 05/01/2011 04:38 AM, Bruno Haible wrote:
> In fact, the dependency on 'fflush' should not be needed, because the fixes
> of that module are not relevant here:
> 
> ! Portability problems fixed by Gnulib:
> ! @itemize
> ! @item
> ! @code{fflush} followed by @code{fseek} or @code{fseeko}, applied to an input
> ! stream, should have the effect of positioning the underlying file 
> descriptor.
> ! It doesn't do this on some platforms.
> 
> Not relevant, because after the fflush() comes an fclose().

Actually quite relevant - we _have_ to ensure that before the fclose
that the underlying position of a seekable input file is in the right
position.

> 
> ! @item
> ! @code{fflush} on an input stream changes the position of the stream to the
> ! end of the previous buffer, on some platforms: mingw.
> 
> Likewise not relevant: the position of the stream is irrelevant in fclose().

Yes it is.  test-closein has a test that validates that:

{ test-closein consume; cat; } < file

outputs the remainder of file after the 6 bytes consumed by test-closein.

> 
> ! @item
> ! @code{fflush} on an input stream right after @code{ungetc} does not discard
> ! the @code{ungetc} buffer, on some platforms:
> ! MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Cygwin 1.5.25-10.
> 
> Likewise not relevant, because no ungetc will occur between fflush() and
> the fclose() that follows it.
> 
> So, the remaining added dependency is 'freading'. lib/stdio-impl.h is already
> under LGPLv2+ (as part of the modules freadahead, freadptr, freadseek, fseeko,
> ftello). lib/freading.c was under LGPLv2+ until 2007-10-07 and since then
> only modified by me and Eric. I'm willing to relicense my changes unter 
> LGPLv2+.
> Eric?

Yes, I'm willing to relax the license.

-- 
Eric Blake   ebl...@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to