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)11 void dummy (va_list vap)
12 {
13   if (va_arg (vap, int) != 1234) abort();
14   return;
15 }
16 
test(int fmt,...)17 void 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)34 int main (void)
35 {
36   test (456, 1234);
37   exit (0);
38 }
39