#define __va_list __darwin_va_list
#include <printf.h>
#include <stdarg.h>
#include <errno.h>
#include <local.h>
#include <xprintf_private.h>
int
asxprintf_exec(char ** __restrict ret,
printf_comp_t __restrict pc, ...)
{
int iret;
va_list ap;
if (!pc) {
errno = EINVAL;
return -1;
}
va_start(ap, pc);
iret = _vasprintf(pc, NULL, ret, NULL, NULL, ap);
va_end(ap);
return iret;
}
int
dxprintf_exec(int fd, printf_comp_t __restrict pc, ...)
{
int ret;
va_list ap;
if (!pc) {
errno = EINVAL;
return -1;
}
va_start(ap, pc);
ret = _vdprintf(pc, NULL, fd, NULL, NULL, ap);
va_end(ap);
return ret;
}
int
fxprintf_exec(FILE * __restrict stream,
printf_comp_t __restrict pc, ...)
{
int ret;
va_list ap;
if (!pc) {
errno = EINVAL;
return -1;
}
va_start(ap, pc);
ret = __xvprintf(pc, NULL, stream, NULL, NULL, ap);
va_end(ap);
return ret;
}
int
sxprintf_exec(char * __restrict str, size_t size,
printf_comp_t __restrict pc, ...)
{
int ret;
va_list ap;
if (!pc) {
errno = EINVAL;
return -1;
}
va_start(ap, pc);
ret = _vsnprintf(pc, NULL, str, size, NULL, NULL, ap);
va_end(ap);
return ret;
}
int
xprintf_exec(printf_comp_t __restrict pc, ...)
{
int ret;
va_list ap;
if (!pc) {
errno = EINVAL;
return -1;
}
va_start(ap, pc);
ret = __xvprintf(pc, NULL, stdout, NULL, NULL, ap);
va_end(ap);
return ret;
}
int
vasxprintf_exec(char ** __restrict ret,
printf_comp_t __restrict pc, va_list ap)
{
if (!pc) {
errno = EINVAL;
return -1;
}
return _vasprintf(pc, NULL, ret, NULL, NULL, ap);
}
int
vdxprintf_exec(int fd, printf_comp_t __restrict pc,
va_list ap)
{
if (!pc) {
errno = EINVAL;
return -1;
}
return _vdprintf(pc, NULL, fd, NULL, NULL, ap);
}
int
vfxprintf_exec(FILE * __restrict stream,
printf_comp_t __restrict pc, va_list ap)
{
if (!pc) {
errno = EINVAL;
return -1;
}
return __xvprintf(pc, NULL, stream, NULL, NULL, ap);
}
int
vsxprintf_exec(char * __restrict str, size_t size,
printf_comp_t __restrict pc, va_list ap)
{
if (!pc) {
errno = EINVAL;
return -1;
}
return _vsnprintf(pc, NULL, str, size, NULL, NULL, ap);
}
int
vxprintf_exec(printf_comp_t __restrict pc, va_list ap)
{
if (!pc) {
errno = EINVAL;
return -1;
}
return __xvprintf(pc, NULL, stdout, NULL, NULL, ap);
}