There are variable length argument lists in C, see e.g. :
http://publications.gbdirect.co.uk/c_book/chapter9/stdarg.html
This would be the most elegant solution, but they are slightly more
complicated to work with. It shouldn't be too difficult though if you
look at enough examples online of how to use va_list and va_start (as
described in the doc at the above link).
If it seems like too much difficulty, then editing the different
functions is the more direct solution although it's less flexible ;-)
J