A function that invokes
va_start, shall also invokeva_endbefore it returns. (http://www.cplusplus.com/reference/cstdarg/va_start/)
If there is no corresponding call to
va_startorva_copy, or ifva_endis not called before a function that callsva_startorva_copyreturns, the behavior is undefined. http://en.cppreference.com/w/cpp/utility/variadic/va_end