NAME
free_printf_comp,
new_printf_comp —
extensible printf
compilation
SYNOPSIS
#include
<printf.h>
void
free_printf_comp(printf_comp_t
pc);
printf_comp_t
new_printf_comp(printf_domain_t
restrict domain, locale_t
restrict loc, const char
* restrict fmt);
DESCRIPTION
To ameliorate some of the slowness caused by the extra overhead in
extensible printf (see
xprintf(5)), a compile/execute mechanism has been created. The
new_printf_comp()
function compiles the given format string, along with a printf domain (see
xprintf_domain(3)) and an extended locale (see
xlocale(3)), and returns a printf_comp_t
structure. The domain may not be NULL, but the
locale can be NULL, which means to use the current
locale, either the per-thread locale if it was set, or else the global
locale. Because the printf_comp_t structure records
the domain and locale, care should be taken if either of these are
changed.
Once a printf_comp_t structure is created, it can be passed to one of the extensible printf execution variants, described in xprintf_exec(3), along with the necessary arguments. Creating the printf_comp_t structure needs to be done only once, but it can be passed to extensible printf execution variants any number of times.
When the printf_comp_t
structure is no longer needed, it should be passed to
free_printf_comp()
to release internal memory.
RETURN VALUES
The new_printf_comp() function returns the
new structure, or NULL on error (usually NULL domain
or out of memory condition).