[Nickle] Various nits/bugs/defects

Carl Worth cworth at east.isi.edu
Tue Jun 17 10:47:00 PDT 2003

On Jun 16, Bart Massey wrote:
 > In message <E19S85J-0002kt-00 at localhost> you wrote:
 > > 
 > > You never need vprintf; you can just use printf:
 > > 
 > > 	printf ("%d %d %d\n", (int[3]) { 1, 2, 3} ... )
 > > 
 > > -keith
 > When did you add that beauty?  Frightening, but harmless, I
 > guess.

I think this is actually an important feature.

One of my long-standing frustrations with C is that it's easy for a
library writer to export a function with a "..."  interface and no
matching va_list interface. Even Keith falls into this, (see
eg. XftFontOpen). The problem with this situation is that it's
impossible to wrap a function using the "..." interface with another
function with the same interface.

So, for variadic functions in C, they must always come in pairs.
What a pain.

 > At any rate, for those of us who are not aware of the undocumented
 > intricacies of Nickle, vprintf() is nice to have around also :-).
 > After all, I note that you now could also remove vfprintf() and
 > basically all the v*() functions.
 > I'd advise leaving them in as a convenience

Documentation is the only bug here. I'd advise ripping out all the
uselessly redundant interfaces.


Carl Worth                                        
USC Information Sciences Institute                      cworth at isi.edu

More information about the Nickle mailing list