#include <limits.h>
#include <stdarg.h>
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
#ifdef HAVE_FLOAT_H
/* --- @gprintf_memputf@ --- *
*
- * Arguments: @char **buf_inout@ = address of output buffer pointer
+ * Arguments: @arena *a@ = memory allocation arena
+ * @char **buf_inout@ = address of output buffer pointer
* @size_t *sz_inout@ = address of buffer size
* @size_t maxsz@ = buffer size needed for this operation
* @const char *p@ = pointer to format string
* buffer, and the formatted string will have been written to
* the buffer.
*
- * When the buffer is no longer required, free it using @xfree@.
+ * When the buffer is no longer required, free it using
+ * @x_free@.
*/
-size_t gprintf_memputf(char **buf_inout, size_t *sz_inout,
- size_t maxsz, const char *p, va_list ap)
+size_t gprintf_memputf(arena *a, char **buf_inout, size_t *sz_inout,
+ size_t maxsz, const char *p, va_list ap)
{
int n;
- GROWBUF_REPLACE(&arena_stdlib, *buf_inout, *sz_inout, maxsz, 64, 1);
+ GROWBUF_REPLACE(size_t, a, *buf_inout, *sz_inout, maxsz, 64, 1);
#ifdef HAVE_SNPRINTF
n = vsnprintf(*buf_inout, maxsz + 1, p, ap);
#else