bug-gnulib
[Top][All Lists]
Advanced

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

Re: [PATCH 3/2] open_memstream: port to more systems


From: Jim Meyering
Subject: Re: [PATCH 3/2] open_memstream: port to more systems
Date: Tue, 27 Apr 2010 09:29:28 +0200

Eric Blake wrote:
> Provide brute-force implementation that works on all remaining
> systems.  Some day, it would be nice to override all APIs that
> take FILE*, so that we can guarantee efficient in-memory access,
> but in the meantime, this works even if it is slow on deficient
> platforms.  The idea here is that eventually those platforms will
> comply with POSIX 2008 and provide an efficient open_memstream
> themselves, or they will die off as reasonable porting targets.
>
> test-open_memstream now passes on cygwin 1.5, mingw, and Solaris
> 10.  However, this exposed some additional bugs: mingw had
> C++ compilation failures with the replacement <time.h>, and this
> patch exposed a Solaris 10 bug in __fpurge().
>
> Several licenses need to be relaxed before this can be LGPLv2+.
>
> * m4/open_memstream.m4(gl_PREREQ_OPEN_MEMSTREAM): Update
> prerequisites for alternate implementation.
> * modules/open_memstream (Depends-on): Likewise.
> * lib/stdio.in.h (gnulib_open_memstream_hook): Declare.
> * lib/fflush.c (rpl_fflush): Call into hook.
> * lib/open_memstream.c (open_memstream) [!HAVE_FUNOPEN]: Provide
> alternate implementation.
> * doc/posix-functions/open_memstream.texi (open_memstream):
> Update.
>
> Signed-off-by: Eric Blake <address@hidden>
> ---
>
> This is a proof-of-concept patch; it solves the problem at hand,
> but has some dependencies on incompatible modules that would
> need to be relaxed to LGPLv2+ before this module could be used
> in libvirt.
>
> fflush - GPL
> fpurge - LGPLv3
> freading - LGPLv3
> ftello - LGPLv3
> full-read - LGPLv3
> full-write - LGPLv3
> safe-read - LGPLv3
> safe-write - LGPLv3
> tmpdir - LGPLv3
> tmpfile - GPL

Thanks.  This sounds great.
Regarding licenses, I'm fine with relaxing those
of all I'm responsible for (full-* and safe-*).




reply via email to

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