[P&AM Lab] crypti printf questions

lonely.ruyk lonely.ruyk на mail.ru
Пн Апр 15 08:37:23 MSK 2013


Всем доброго времени суток.
Я к вам с вопросом.

На днях приделал к crypti реализацию printf. Выглядит пока довольно
криво, обещаю в ближайшее время довести до вменяемого состояния.

https://github.com/dzruyk/crypti/blob/master/src/var_print.c

Небольшой вопрос по поводу va_list:
Сейчас интерфейс функции форматированного вывода выглядит так:

int var_print_formatted(struct variable *fmt, struct variable **args,
int nargs);

хотелось бы сделать чтобы она выглядела как то так

int var_print_formatted(struct variable *fmt, va_list ap);
или так
int var_print_formatted(struct variable *fmt, ...);

Однако функция, которая использует var_print_formatted хранит список
аргументов в массиве, и я не смог придумать как запихать элементы
массива в va_list или передать их как список переменной длины.
Есть ли красивый способ это сделать (без танцев с ассемблером и
прочими радостями жизни)?

P.S.: Страшное название функции сейчас вызвано тем что интерфейс
отличается от стандартных функций семейства printf (посчитал что
var_printf не подходит так как интерфейсы разные).

Большое спасибо за ваши ответы.



Подробная информация о списке рассылки Lab