I wanted to avoid having to asprintf().  of course I'd also need a v
version taking a va_list...