1234567891011121314151617181920212223242526272829303132 |
- #include "common.h"
- int vasprintf(char **bufp, const char *fmt, va_list va)
- {
- va_list va2;
- int len;
- char *buf;
- va_copy(va2, va);
- len = vsnprintf(NULL, 0, fmt, va2);
- va_end(va2);
- buf = malloc(len+1);
- if (buf)
- len = vsnprintf(buf, len+1, fmt, va);
- *bufp = buf;
- return len;
- }
- int asprintf(char **bufp, const char *fmt, ...)
- {
- va_list va;
- int len;
- va_start(va, fmt);
- len = vasprintf(bufp, fmt, va);
- va_end(va);
- return len;
- }
|