1*f1fab66eSDavid van Moolenbroek /* $NetBSD: mystdarg.h,v 1.2 1997/10/09 21:20:37 christos Exp $ */ 2*f1fab66eSDavid van Moolenbroek 3*f1fab66eSDavid van Moolenbroek /* 4*f1fab66eSDavid van Moolenbroek * What follows is an attempt to unify varargs.h and stdarg.h. I'd rather 5*f1fab66eSDavid van Moolenbroek * have this than #ifdefs all over the code. 6*f1fab66eSDavid van Moolenbroek */ 7*f1fab66eSDavid van Moolenbroek 8*f1fab66eSDavid van Moolenbroek #ifdef __STDC__ 9*f1fab66eSDavid van Moolenbroek #include <stdarg.h> 10*f1fab66eSDavid van Moolenbroek #define VARARGS(func,type,arg) func(type arg, ...) 11*f1fab66eSDavid van Moolenbroek #define VASTART(ap,type,name) va_start(ap,name) 12*f1fab66eSDavid van Moolenbroek #define VAEND(ap) va_end(ap) 13*f1fab66eSDavid van Moolenbroek #else 14*f1fab66eSDavid van Moolenbroek #include <varargs.h> 15*f1fab66eSDavid van Moolenbroek #define VARARGS(func,type,arg) func(va_alist) va_dcl 16*f1fab66eSDavid van Moolenbroek #define VASTART(ap,type,name) {type name; va_start(ap); name = va_arg(ap, type) 17*f1fab66eSDavid van Moolenbroek #define VAEND(ap) va_end(ap);} 18*f1fab66eSDavid van Moolenbroek #endif 19