Как при написании оберток к библиотекам пишут обертки к фукнциям переменного числа аргументов, например printf? Конкретно — на лиспе есть функция, которая должна быть оберткой того же printf, при этом в рантайме доступ к аргументам производится последовательным car'ом. Как сформировать итоговый printf или же как сформировать va_list при наличии соответствующей функции типа vprintf?
Интересует, естественно, не сам printf, а printw из curses.
P.S. когда-то уже сталкивался с этой проблемой, но насколько помню не решил ее, а переписал нужную функцию на целевом языке.