If I have a va_list I know how to extract all its elements:
void printInts(int n,...)
{
va_list va;
va_start(va, n);
for(unsigned int i=0; i<n; i++)
{
int arg=va_arg(va, int);
printf("%d",arg);
}
va_end(va);
}
So when I call printInts(3,1,2,3) the va_list get filled of all the parameters.
But how do I manually fill a va_list without using va_start? I mean that I want something like:
va_list va;
push_arg(va, int, 5); // And so on until I fill all parameters
...
I need this because there is a function that accept a va_list as argument, and I don't know how to fill that va_list of all its parameters.