Select Git revision
-
Julian Rother authoredJulian Rother authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
mprintf.c 466 B
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include "../util.h"
char *vmprintf(const char *fmt, va_list ap)
{
char *ptr;
size_t size;
FILE *stream;
ptr = 0;
size = 0;
if (!(stream = open_memstream(&ptr, &size)))
exit(99);
if (vfprintf(stream, fmt, ap) < 0)
exit(99);
fclose(stream);
return ptr;
}
char *mprintf(const char *fmt, ...)
{
char *ret;
va_list ap;
va_start(ap, fmt);
ret = vmprintf(fmt, ap);
va_end(ap);
return ret;
}