Passar uma elipse para outra função variadica [duplicado]

Esta pergunta já tem uma resposta aqui:

Encaminha uma invocação de uma função variável em C 10 respostas

Tenho aproximadamente 30 funções variadas. Cada um aceita um caminho como argumento final, por exemplo

bool do_foo(struct *f, int q, const char *fmt, ...)

Em cada função, tenho que verificar se o formato expandido é menor ou igual a um determinado tamanho. Então, eu me pego copiando / colando o mesmo pedaço de código para verificar quantos caracteresvsnprintf() não imprimiu, definaerrno em conformidade e evite a gravaçã

O que eu gostaria de fazer é escrever uma função para fazer isso, que retornaria uma string alocada estaticamente (expandida) conhecida por um tamanho seguro ou uma string recém-inicializada em caso de falha, que poderia ser verificada com NULL. As verificações também precisam determinar se a sequência é um caminho absoluto ou relativo, o que influencia o tamanho seguro da sequência. É muito código duplicado e está começando a cheirar.

Existe uma maneira de passar o conteúdo das elipses da entrada da minha função para outra função? Ou tenho que ligar parava_start() primeiro e depois passe ova_list para a função auxiliar?

Editar

Eu não sou contra passar ova_list para o ajudante, eu só queria ter certeza de que nada mais existia. Parece-me que o compilador entende onde os argumentos variados começam, então fiquei curioso para saber se é possível transmiti-lo

questionAnswers(4)

yourAnswerToTheQuestion