void va_end(va_list ap);

va_end indicates a normal return from the function whose variable argument list ap was initialised by va_start or va_copy. The va_end macro may modify ap so that it is no longer usable without being reinitialized by va_start or va_copy. If there is no corresponding invocation of va_start or va_copy, or if va_end is not invoked before the return, the behavior is undefined.