/*
 * asprintf.c
 */

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>

int asprintf(char **bufp, const char *format, ...)
{
	va_list ap, ap1;
	int rv;
	int bytes;
	char *p;

	va_start(ap, format);
	va_copy(ap1, ap);

	bytes = vsnprintf(NULL, 0, format, ap1) + 1;
	va_end(ap1);

	*bufp = p = malloc(bytes);
	if (p) {
		rv = vsnprintf(p, bytes, format, ap);
	} else {
		rv = -1;
	}

	va_end(ap);

	return rv;
}
