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