4.4BSD/usr/src/contrib/calc-1.26.4/stdarg.h

/*
 * Copyright (c) 1993 David I. Bell
 * Permission is granted to use, distribute, or modify this source,
 * provided that this copyright notice remains intact.
 */

#include "args.h"

#ifndef STDARG_H
#define STDARG_H

#ifdef VARARGS

#include <varargs.h>

#else /*VARARG*/

#ifdef STDARG

#if defined(__STDC__)
#include <stdarg.h>
#else
%;%;%  BOGUS DEFINE!  Must use ANSI C when STDARG is defined  %;%;%
#endif

#else /*STDARG*/

/*
 * SIMULATE_STDARG
 *
 * WARNING: This type of stdarg makes assumptions about the stack
 * 	    that may not be true on your system.  You may want to
 *	    define STDARG (if using ANSI C) or VARARGS.
 */

typedef char *va_list;
#define va_start(ap,parmn) (void)((ap) = (char*)(&(parmn) + 1))
#define va_end(ap) (void)((ap) = 0)
#define va_arg(ap, type) \
    (((type*)((ap) = ((ap) + sizeof(type))))[-1])

#endif /*STDARG*/
#endif /*VARARG*/

#endif

/* END CODE */