Andy Dougherty:
# Here's a patch that makes misc.c work that way. (This does not fix the
# original trace.c problem at the beginning of this thread.  
# trace.c still
# needs to be patched.  My original patch is fine for now.)
# 
# Also, would it be ok to add some more wrapper functions to
# misc.c?  In particular, is it ok to use stdio-isms (mindful that they
# will later be replaced with ParrotIO-isms)?  I'm looking to replace 
# existing print statements like (from trace.c)
# 
#     fprintf(stderr, "PC=%ld; OP=%ld (%s)", 
#                   (long)(pc - code_start), (long) *pc,
#                   interpreter->op_info_table[*pc].full_name)));
# 
# with something much less verbose than
# 
#     fprintf(stderr, 
#           string_to_cstring(interpreter,
#               Parrot_sprintf_c(interpreter,
#               "PC=%vd; OP=%vd (%s)", 
#                   (INTVAL)(pc - code_start), (INTVAL) *pc,
#                   interpreter->op_info_table[*pc].full_name)));

I'm working on a patch locally that fixes the long problem (by testing
at Configure-time for the existence of "long long"), completes the
feature set of Parrot_sprintf and friends, and adds a PIO_printf and
PIO_fprintf.  It also converts most uses of fprintf and printf in the
core to PIO (when it can--often there isn't an interpreter handy,
especially in the PackFile stuff).  Oh, and it includes a pony.  :^)

--Brent Dax <[EMAIL PROTECTED]>
@roles=map {"Parrot $_"} qw(embedding regexen Configure)

Wire telegraph is a kind of a very, very long cat. You pull his tail in
New York and his head is meowing in Los Angeles. And radio operates
exactly the same way. The only difference is that there is no cat.
    --Albert Einstein (explaining radio)

Reply via email to