1  #include <stdarg.h>
       2  
       3  int
       4  bar (int a, va_list ap)
       5  {
       6    int b;
       7  
       8    do
       9      b = va_arg (ap, int);
      10    while (b > 10);
      11  
      12    return a + b;
      13  }
      14  
      15  int
      16  foo (int a, ...)
      17  {
      18    va_list ap;
      19  
      20    va_start (ap, a);
      21    return bar (a, ap);
      22  }
      23  
      24  int
      25  main ()
      26  {
      27    if (foo (1, 2, 3) != 3)
      28      abort ();
      29    return 0;
      30  }