> but that would mean you just couldn't do it if there isn't va_list accepting type of function available as well.
This isn't a problem for the standard library, which has (i think) a 'v' equivalent function for all the functions which accept ... parameters (like printf and vprintf)
So even if you want to call your own function, you would just need to re-arrange the code like so
Code:
void vFunc ( const char *format, va_list ap ) {
// do va_arg to scan down the list of args in ap
}
void Func(const char* format, ...)
{
// do va_start, va_end etc, and call vFunc to do all the work
}
void BufferFunc(const char* format, ...)
{
// do va_start, va_end etc, and call vFunc to do all the work
}