Включаемый файл расширяющий функционал языка для работы с аргументами функций с переменным числом аргументов.
Инструкция по применению:
1) Включите файл в состав плагина директивой #include.
Примечание (для v2): включайте его первым среди инклудов для корректной работы.
2) Вызовите va_start(int param_n) в функции с переменным числом аргументов (далее просто функции) , где param_n номер аргумента с ..., счет аргументов начинается с 1.
Примечание (для v1): Очень важно что бы не было создано ни каких переменных до вызова va_start(), иначе не будет работать корректно.
3) Для получения следующего аргумента используйте va_arg(). В случае если вы уже извлекли все аргументы и вызвали va_arg(), плагин выкинет ошибку.
Вы можете использовать va_args() для получения кол-во переданных в функцию аргументов и va_more() для проверки извлечены ли уже все аргументы.
4) Когда вы извлекли все аргументы необходимо вызвать va_end(), иначе будет утечка памяти.
Пример плагина с valist.inc:
Инструкция по применению:
1) Включите файл в состав плагина директивой #include.
Примечание (для v2): включайте его первым среди инклудов для корректной работы.
2) Вызовите va_start(int param_n) в функции с переменным числом аргументов (далее просто функции) , где param_n номер аргумента с ..., счет аргументов начинается с 1.
Примечание (для v1): Очень важно что бы не было создано ни каких переменных до вызова va_start(), иначе не будет работать корректно.
3) Для получения следующего аргумента используйте va_arg(). В случае если вы уже извлекли все аргументы и вызвали va_arg(), плагин выкинет ошибку.
Вы можете использовать va_args() для получения кол-во переданных в функцию аргументов и va_more() для проверки извлечены ли уже все аргументы.
4) Когда вы извлекли все аргументы необходимо вызвать va_end(), иначе будет утечка памяти.
Пример плагина с valist.inc: