in src/vasprintf.c [201:227]
static int print_it(xprintf_struct *s, size_t approx_len,
const char *format_string, ...)
{
va_list varg;
int vsprintf_len;
size_t len;
if (realloc_buff(s,approx_len) == EOF)
return EOF;
va_start(varg, format_string);
vsprintf_len = vsprintf(s->dest_string, format_string, varg);
va_end(varg);
/* Check for overflow */
assert((s->buffer_base)[s->buffer_len - 1] == 1);
if (vsprintf_len == EOF) /* must be done *after* overflow-check */
return EOF;
s->pseudo_len += vsprintf_len;
len = strlen(s->dest_string);
s->real_len += len;
s->dest_string += len;
return 0;
}