Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

free_printf_comp(3) [mojave man page]

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 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). SEE ALSO
xlocale(3), xprintf_domain(3), xprintf_exec(3), xprintf(5) Darwin Aug 19, 2012 Darwin

Check Out this Related Man Page

XPRINTF_EXEC(3) 					   BSD Library Functions Manual 					   XPRINTF_EXEC(3)

NAME
asxprintf_exec, dxprintf_exec, fxprintf_exec, sxprintf_exec, xprintf_exec, vasxprintf_exec, vdxprintf_exec, vfxprintf_exec, vsxprintf_exec, vxprintf_exec -- execute-only extensible printf execution SYNOPSIS
#include <printf.h> int asxprintf_exec(char ** restrict ret, printf_comp_t restrict pc, ...); int dxprintf_exec(int fd, printf_comp_t restrict pc, ...); int fxprintf_exec(FILE * restrict stream, printf_comp_t restrict pc, ...); int sxprintf_exec(char * restrict str, size_t size, printf_comp_t restrict pc, ...); int xprintf_exec(printf_comp_t restrict pc, ...); #include <stdarg.h> int vasxprintf_exec(char ** restrict ret, printf_comp_t restrict pc, va_list ap); int vdxprintf_exec(int fd, printf_comp_t restrict pc, va_list ap); int vfxprintf_exec(FILE * restrict stream, printf_comp_t restrict pc, va_list ap); int vsxprintf_exec(char * restrict str, size_t size, printf_comp_t restrict pc, va_list ap); int vxprintf_exec(printf_comp_t restrict pc, va_list ap); DESCRIPTION
These functions are execute-only, extensible printf (see xprintf(5)) variants, taking a printf_comp_t structure created by the format string compilation routine new_printf_comp(3). All these variants behave like their normal printf counterparts (see printf(3)) without 'x' and ``_exec'' in the name (except sxprintf_exec() and vsxprintf_exec() behave like snprintf() and vsnprintf(), respectively). SEE ALSO
printf(3), xprintf_comp(3), xprintf(5) Darwin Aug 19, 2012 Darwin
Man Page