Here's my stdarg.h:
http://www.execpc.com/~geezer/osd/code/inc/stdarg.hIt's a lot of C voodoo using pointers and casts and sizeof and the comma operator, but it works. It might even work with a 16-bit compiler, but I haven't checked this.
va_start() points to the first variable argument.
va_arg() advances the pointer, then evaluates to the previous argument (comma operator).
va_end() doesn't do anything.
Here's my printf(), too;
http://www.execpc.com/~geezer/osd/code/inc/_printf.hhttp://www.execpc.com/~geezer/osd/code/ ... doprintf.c