my_buffer
my_buffer = typeRealloc(char, my_length, my_buffer);
if (my_buffer != NULL) {
*my_buffer = '\0';
vsprintf(my_buffer, fmt, ap);
result = my_buffer;
my_buffer = typeRealloc(char, my_length, my_buffer);
if (my_buffer != NULL) {
while ((used = vsnprintf(my_buffer, my_length, fmt, ap))
my_buffer = typeRealloc(char, my_length, my_buffer);
vsprintf(my_buffer, fmt, ap);
result = my_buffer;
} else if (my_buffer != NULL) { /* see _nc_freeall() */
free(my_buffer);
my_buffer = NULL;