blob: 3ed35bea9a1352759f1c61a8e427c40d68e4e5b7 [file] [log] [blame]
#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 */