va_copy must be followed by va_end