1 /* derived from mozilla source code */ 2 3 #include <stdarg.h> 4 5 typedef struct { 6 void *stream; 7 va_list ap; 8 int nChar; 9 } ScanfState; 10 dummy(va_list vap)11void dummy (va_list vap) 12 { 13 if (va_arg (vap, int) != 1234) abort(); 14 return; 15 } 16 test(int fmt,...)17void test (int fmt, ...) 18 { 19 ScanfState state, *statep; 20 21 statep = &state; 22 23 va_start (statep->ap, fmt); 24 dummy (statep->ap); 25 va_end (statep->ap); 26 27 va_start (state.ap, fmt); 28 dummy (state.ap); 29 va_end (state.ap); 30 31 return; 32 } 33 main(void)34int main (void) 35 { 36 test (456, 1234); 37 exit (0); 38 } 39