Вызовите va_start()
(и va_end()
) дважды.
Первый раз в цикле с va_arg()
внутри для проверки (и изменения) каждого аргумента;
и следующий раз для vsprintf
/* check args */
va_start(val, parm);
while (MORE_ARGUMENTS) {
arg = va_arg(val, char*);
/* mysql_real_escape(arg); */
}
va_end(val);
/* print */
va_start(val, parm);
vsprintf(buf, FORMAT_STRING, val);
va_end(val);