#ifndef _PORTABLE_SNPRINTF_H_ #define _PORTABLE_SNPRINTF_H_ #define PORTABLE_SNPRINTF_VERSION_MAJOR 2 #define PORTABLE_SNPRINTF_VERSION_MINOR 2 #ifdef HAVE_SNPRINTF #include #else extern int snprintf(char *, size_t, const char *, /*args*/ ...); extern int vsnprintf(char *, size_t, const char *, va_list); #endif #if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF) extern int portable_snprintf(void * handle, char *str, size_t str_m, const char *fmt, /*args*/ ...); extern int portable_vsnprintf(void *handle, char *str, size_t str_m, const char *fmt, va_list ap); /*#define snprintf portable_snprintf*/ /*others use libc snprintf*/ /*#define vsnprintf portable_vsnprintf*/ #endif extern int asprintf (void * handle, char **ptr, const char *fmt, /*args*/ ...); extern int vasprintf (void * handle, char **ptr, const char *fmt, va_list ap); extern int asnprintf (void * handle, char **ptr, size_t str_m, const char *fmt, /*args*/ ...); extern int vasnprintf(void * handle, char **ptr, size_t str_m, const char *fmt, va_list ap); #endif