Say you have 2 functions:
void func(int x,int y,...)
{
//do stuff
}
void func2(int x,...)
{
func(x,123,...);
}
How can you make this work, e.g pass the arg-list to the other function?
EDIT: this is a duplicate, can someone merge them or whatever?
You need a separate version that works with explicit argument lists:
This is the reason there are standard functions like
vprintf()
.To be added to "unwind" answer:
va_start(3) man page has decent explanation how to work with va_list objects including good example.
Also printf(3) page contains even better example of va_list based call infrastructure around vsnprintf(3) (you can get to this page using any of printf() variants name).