support va_list