00001 #ifndef _PORTABLE_SNPRINTF_H_
00002 #define _PORTABLE_SNPRINTF_H_
00003
00004 #define PORTABLE_SNPRINTF_VERSION_MAJOR 2
00005 #define PORTABLE_SNPRINTF_VERSION_MINOR 2
00006
00007 #ifdef HAVE_SNPRINTF
00008 #include <stdio.h>
00009 #else
00010 extern int snprintf(char *, size_t, const char *, ...);
00011 extern int vsnprintf(char *, size_t, const char *, va_list);
00012 #endif
00013
00014 #if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF)
00015 extern int portable_snprintf(char *str, size_t str_m, const char *fmt, ...);
00016 extern int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
00017 #define snprintf portable_snprintf
00018 #define vsnprintf portable_vsnprintf
00019 #endif
00020
00021 extern int asprintf (char **ptr, const char *fmt, ...);
00022 extern int vasprintf (char **ptr, const char *fmt, va_list ap);
00023 extern int asnprintf (char **ptr, size_t str_m, const char *fmt, ...);
00024 extern int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap);
00025
00026 #endif