You can execute multiple traversals of the argument list, each
delimited by va_start . . . va_end. The va_end function sets ap
equal to NULL.
When using this function to write portable applications, include
the <stdarg.h> header file (defined by the ANSI C standard), not
the <varargs.h> header file, and use va_end only in conjunction
with other routines defined in <stdarg.h>.
For an example of argument-list processing using the <stdarg.h>
functions and definitions, see the "Character, String, and
Argument-List Functions" chapter of the VSI C RTL Reference
Manual.