chiark / gitweb /
Mobile sites: Maintain multiple addresses for some peers (new feature)
[secnet.git] / snprintf.h
1 #ifndef _PORTABLE_SNPRINTF_H_
2 #define _PORTABLE_SNPRINTF_H_
3
4 #define PORTABLE_SNPRINTF_VERSION_MAJOR 2
5 #define PORTABLE_SNPRINTF_VERSION_MINOR 2
6
7 #ifdef HAVE_SNPRINTF
8 #include <stdio.h>
9 #else
10 extern int snprintf(char *, size_t, const char *, /*args*/ ...);
11 extern int vsnprintf(char *, size_t, const char *, va_list);
12 #endif
13
14 #if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF)
15 extern int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...);
16 extern int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
17 #define snprintf  portable_snprintf
18 #define vsnprintf portable_vsnprintf
19 #endif
20
21 extern int asprintf  (char **ptr, const char *fmt, /*args*/ ...);
22 extern int vasprintf (char **ptr, const char *fmt, va_list ap);
23 extern int asnprintf (char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
24 extern int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap);
25
26 #endif