parrotcode: Miscellaneous functions | |
Contents | C |
src/misc.c - Miscellaneous functions
Miscellaneous functions,
mainly the Parrot_sprintf
family.
Uses a generalized formatting algorithm (src/spf_render.c) with a specialized vtable (src/spf_vtable.c) to handle argument extraction.
The naming convention used is:
Parrot_v?n?sprintf
Parrot_v?sprintf_c
Parrot_v?sprintf_s
_
means "returns Parrot string" and the other letter indicates the type for the format.STRING *Parrot_vsprintf_s
Parrot_psprintf()
for the exception).
It in turn calls Parrot_sprintf_format()
(see src/spf_render.c).STRING *Parrot_vsprintf_c
Parrot_vsprintf_s()
.void Parrot_vsnprintf
Parrot_vsprintf()
but with an option to specify the length (len
) of the returned C string.STRING *Parrot_sprintf_s
Parrot_vsprintf_s()
with the va_list
obtained from ...
.STRING *Parrot_sprintf_c
Parrot_sprintf_s()
.void Parrot_snprintf
Parrot_sprintf()
but with an option to specify the length (len
) of the returned C string.STRING *Parrot_psprintf
Parrot_sprintf_format()
with the insertion arguments in an Array
PMC.int Parrot_secret_snprintf
snprintf
for systems that do not support it.src/misc.h, src/spf_vtable.c, src/spf_render.c.
This was once a simple, vararg-based implementation that existed completely within this file. When the file grew to be nearly 1000 lines long, I split it into three. --BD
|