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 |