xref: /minix3/lib/libwrap/mystdarg.h (revision f1fab66e7dda396e0a899dafaddb9c3ac4edfcfe)
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