Seems like it simply doesn't work. The arguments aren't copied to the stack in case of "...".
I wrote a little program that demonstrates it. Both functions tst1 and tst2 should return the integer that is stored after parameter a. This seems to work only for tst1.
Code:
#include <acknex.h>
int tst1(int a, int b)
{
return *((&a) + 1);
}
int tst2(int a, ...)
{
return *((&a) + 1);
}
int main()
{
if(tst1(1, 2) == 2)
printf("test 1 success");
else
printf("test 1 failure");
if(tst2(1, 2) == 2)
printf("test 2 success");
else
printf("test 2 failure");
}