]> nv-tegra.nvidia Code Review - android/platform/external/syslinux.git/blob - com32/lib/vasprintf.c
Clean checkin of the 6.03 code
[android/platform/external/syslinux.git] / com32 / lib / vasprintf.c
1 /*
2  * vasprintf.c
3  */
4
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <stdarg.h>
8
9 int vasprintf(char **bufp, const char *format, va_list ap)
10 {
11     va_list ap1;
12     int bytes;
13     char *p;
14
15     va_copy(ap1, ap);
16
17     bytes = vsnprintf(NULL, 0, format, ap1) + 1;
18     va_end(ap1);
19
20     *bufp = p = malloc(bytes);
21     if (!p)
22         return -1;
23
24     return vsnprintf(p, bytes, format, ap);
25 }