2
Copyright (C) 2005- The University of Notre Dame
3
This software is distributed under the GNU General Public License.
4
See the file COPYING for details.
19
buffer_t *buffer_create (void)
21
buffer_t *b = xxmalloc(sizeof(buffer_t));
27
void buffer_delete (buffer_t *b)
33
int buffer_vprintf (buffer_t *b, const char *format, va_list va)
36
size_t osize = b->size;
39
int n = vsnprintf(NULL, 0, format, va2);
45
b->buf = xxrealloc(b->buf, b->size+1); /* extra nul byte */
47
n = vsnprintf(b->buf+osize, n+1, format, va2);
54
int buffer_printf (buffer_t *b, const char *format, ...)
58
int r = buffer_vprintf(b, format, va);
63
const char *buffer_tostring (buffer_t *b, size_t *size)
65
if (size != NULL) *size = b->size;