Leopold Toetsch:
# Brent Dax wrote:
# > First of all, spf_render.c:18-20:
# >     /* Per Dan's orders, we will not use sprintf if snprintf isn't
# >      * around for us.
# >      */
# >
# > So we can't use vfprintf, unless Dan thinks otherwise.
# 
# Sorry, I don't get that. I see/know the point WRT sprintf, but all
what
# we need is early on interpreter startup to be able to utter some
(error)
# messages. These go straightly to stdout/stderr, that's it. No buffer
# involved.

You're right about this, of course.  Sorry, I wasn't thinking it through
completely.  *smacks forehead on table*

# > The problem here is that Windows uses a different flag for long
# > ints--IIRC, they want you to use %I64d (no, I am not kidding).  They
# > don't seem to support long floats at all.
# 
# That's a oonfigure issue.

It becomes an sprintf issue when people start passing things with
platform-specific flags in them to the platform-neutral
Parrot_sprintf--and if you allow INTVAL_FMT to be used directly on some
systems, someone'll use it, and it'll bite us on Windows.

# > I believe the correct solution is to somehow make
# > sure that Parrot_sprintf can be called with a NULL interpreter.
# 
# I don't think, that we need this. There is always an interpreter
except
# during constructiing or destroying the first/last. For these 2 steps,
we
# want a message stating a possible problem, thats it - IMHO.

*nod* Okay.

To restate, though, I still don't like supporting %Ld in Parrot_sprintf,
because someone'll (probably accidentally) pass in %I64d on a Windows
system or God-knows-what-syntax on some other strange system, and I
don't want to have to support *that*.

--Brent Dax <[EMAIL PROTECTED]>
Perl and Parrot hacker

"Yeah, and my underwear is flame-retardant--that doesn't mean I'm gonna
set myself on fire to prove it."

Reply via email to