bug-gnulib
[Top][All Lists]
Advanced

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

Re: snprintfv for gnulib?


From: Daniel Jacobowitz
Subject: Re: snprintfv for gnulib?
Date: Fri, 23 Feb 2007 07:31:43 -0500
User-agent: Mutt/1.5.13 (2006-08-11)

On Fri, Feb 23, 2007 at 08:22:45AM +0100, Paolo Bonzini wrote:
> Agreed.  However, I'm sorry to say that you might have to restart part 
> of your work.  I've checked in into the libsnprintfv repository on 
> savannah a merge of my work and Bruce's, except for the && || mismatch 
> that I have not had the time to understand.  It passes the testsuite 
> except for floating-point printing.

OK, thanks.  I'll restart tonight or over the weekend.

> Still, as I said I fully agreed -- in fact my first step would have been 
> to gnulib-ize snprintfv itself.

OK.  I was actually working in the other direction - copying the code
into gnulib and then planning to gnulib-ize it later - but this
direction is sensible too.

On Fri, Feb 23, 2007 at 08:31:54AM +0100, Paolo Bonzini wrote:
> Currently, the standalone library has the possibility to load additional 
> external modules.  It would be great to keep this possibility as a 
> separate, optional gnulib module.

That was my plan, though it's part I have not done yet.

> My plan would be like this:
> 
> 1) gnulibize snprintfv as it is in the repository now.  This includes 
> for example using the unlocked I/O modules and the math module.
> 
> 2) move filaments (resizable strings) to gnulib as a separate module.
> 
> 3) move the basic functionality of snprintfv streams to gnulib as a 
> separate module.
> 
> 4) enhance streams providing the default stream types (file descriptor, 
> stdio file, filament, etc.) used in snprintfv, and remove those from 
> snprintfv.
> 
> 5) move the body of snprintfv to gnulib.
> 
> 6) move some functionality like parse_printf_format into separate modules.
> 
> 7) add back the dynamic loading functionality (snprintfv/dl-yes.c) as a 
> separate gnulib module.
> 
> Does it seem sane?

I've only started to look at this, but it seems right.

- The unlocked I/O module isn't actually what snprintfv wants.  It
  needs flockfile and unlocked-io.h defines that to nothing.  All it
  really wants is an autoconf check for unlocked IO.

- I don't know how to make one gnulib module override another yet, but
  I'm sure we can work something out for the dynamic loading support -
  perhaps check an indicator #define for the optional module.

- There is already a printf parser in gnulib, and it looks as if it
  was at some point related to snprintfv's.  Unification will
  interesting.

I will work on gnulib-izing snprintfv first.  Are there any particular
platforms you would recommend compiling for?  Otherwise I'll default
to Linux and mingw32.

-- 
Daniel Jacobowitz
CodeSourcery




reply via email to

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