manpagez: man pages & more
man xprintf_comp(3)
Home | html | info | man
xprintf_comp(3)          BSD Library Functions Manual          xprintf_comp(3)


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 exten-
     sible printf (see xprintf(5)), a compile/execute mechanism has been cre-
     ated.  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).


SEE ALSO

     xlocale(3), xprintf_domain(3), xprintf_exec(3), xprintf(5)

Darwin                           Aug 19, 2012                           Darwin

Mac OS X 10.9.1 - Generated Fri Jan 10 16:50:36 CST 2014
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.