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.