Andy Dougherty:
# This patch will temporarily appease tinderbox.perl.org, but it has
# three medium-term problems:
#
# 1. Configure.pl doesn't figure out HAS_SNPRINTF yet.
That will be hard to deal with. I can't find a symbol in Config.pm
corresponding to the existence of snprintf.
# 2. Systems without snprintf() are subject to buffer overflows.
# 3. The format strings may not be correct. We need Configure.pl
# to figure out the correct format strings for INTVALs and NUMVALs.
God, I can see the code already:
INTVAL foo, baz;
FLOATVAL bar;
char *pattern=mem_sys_allocate(64);
char *target=mem_sys_allocate(64);
sprintf(pattern, "%s + %s - %s", INTVAL_PATTERN, FLOATVAL_PATTERN,
INTVAL_PATTERN);
sprintf(target, pattern, foo, bar, baz);
What we really need is our own s(n?)printf:
Parrot_sprintf(target, "%I + %F - %I", foo, bar, baz);
/* or some such nonsense */
or even:
target=Parrot_sprintf("%I + %F - %I); /* like Perl's built-in */
That way, it could even handle Parrot strings natively, perhaps with a
%S code.
By the way, Windows sems to have an _snprintf function with the same
arguments. The leading underscore is beyond me. *shrugs*
--Brent Dax
[EMAIL PROTECTED]
Configure pumpking for Perl 6
"Nothing important happened today."
--George III of England's diary entry for 4-Jul-1776