#include <_ansi.h> #include <stdio.h> #include "c99ppe.h" #ifdef _HAVE_STDC #include <stdarg.h> #else #include <varargs.h> #endif #ifdef INTEGER_ONLY # define vsnprintf vsniprintf #endif typedef struct { char* str; unsigned int pad0[ 3 ]; size_t size; unsigned int pad1[ 3 ]; _CONST char* fmt; unsigned int pad2[ 3 ]; va_list ap; } c99_vsnprintf_t; #ifndef _REENT_ONLY int _DEFUN (vsnprintf, (str, size, fmt, ap), char *str _AND size_t size _AND _CONST char *fmt _AND va_list ap) { c99_vsnprintf_t args; CHECK_STR_INIT(_REENT); args.str = str; args.size = size; args.fmt = fmt; va_copy(args.ap,ap); return __send_to_ppe(SPE_C99_SIGNALCODE, SPE_C99_VSNPRINTF, &args); } #endif /* ! _REENT_ONLY */