On Mon, 30 Sep 2002, Brent Dax wrote: > Andy Dougherty: > # More generally, though, rather than sprinkling the sources > # with INTVAL_FMT and other ugly (but correct and portable > # things), should we be trying to > # funnel everything through a central printf-like engine and > # have it automatically provide the correct formats? > # perl-5.8.0 somewhat belatedly introduced something like that, > # and it seems like a good idea. > > *elbows him in the side and points at /Parrot_v?sn?printf(_[sc])?/ in > misc.c*
Interesting, yes, that's mostly what I had in mind, but I'm unsure just how it's intended to be used.[*] That is, if I have INTVAL iv = 7; what format do I use to print it? Is it the intent that Parrot_sprintf_c(interpreter, "i=%d\n", i); will work? Or do I need some special format character, like Parrot_sprintf_c(interpreter, "i=%Vd\n", i); (to borrow perl5's sv.c:Perl_sv_vcatpvfn notation). As a side note, I see that misc.c currently seems to assume that sizeof(long) >= sizeof(INTVAL), so I'll need to patch that up anyway, but at the moment, I'm unclear even as to intention. [*]As another curious side note, the Parrot_sprintf functions require a Parrot interpreter. Whether it's safe to pass that interpreter object around while inside the trace function (which is where I got started) or inside sundry debug functions is another possibly interesting question, but largely irrelevant for the bigger issue at hand. Andy Dougherty [EMAIL PROTECTED]