Есть ли способ создать va_list
с нуля? Я пытаюсь вызвать функцию, которая принимает va_list
в качестве параметра:
func(void **entry, int num_args, va_list args, char *key);
... из функции, которая не принимает переменное количество аргументов. Единственный способ, о котором я могу думать, - это создать промежуточную функцию, которая принимает varargs и затем передает свой va_list, что довольно глупо:
void stupid_func(void **entry, char *key, int num_args, ...) {
va_list args;
va_start(args, num_args);
func(entry, num_args, args, key);
va_end(args);
}
Есть ли лучший способ? Я не могу изменить подпись func
.