blob: 3ed35bea9a1352759f1c61a8e427c40d68e4e5b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef __ASPRINTF_H
#define __ASPRINTF_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#ifndef HAVE_VASPRINTF
static inline int vasprintf(char **PTR, const char *TEMPLATE, va_list AP)
{
int res;
char buf[16];
res = vsnprintf(buf, 16, TEMPLATE, AP);
if (res > 0) {
*PTR = (char*)malloc(res+1);
res = vsnprintf(*PTR, res+1, TEMPLATE, AP);
}
return res;
}
#endif
#ifndef HAVE_ASPRINTF
static inline int asprintf(char **PTR, const char *TEMPLATE, ...)
{
int res;
va_list AP;
va_start(AP, TEMPLATE);
res = vasprintf(PTR, TEMPLATE, AP);
va_end(AP);
return res;
}
#endif
#endif /* ASPRINTF_H */
|