/*****************************************************************************/
/* */
-/* stdarg.h */
+/* stdarg.h */
/* */
-/* Variable arguments */
+/* Variable arguments */
/* */
/* */
/* */
-/* (C) 1998-2001 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
-/* EMail: uz@musoftware.de */
+/* (C) 1998-2004 Ullrich von Bassewitz */
+/* Römerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
typedef unsigned char* va_list;
-#define va_start(ap, fix) ap = (va_list)&fix + __argsize__ - __fixargs__
-#define va_arg(ap,type) (*(type*)(ap -= ((sizeof (type) + 1) & ~1)))
-#define va_copy(dest, src) ((dest)=(src))
+#define va_start(ap, fix) ap = ((va_list)&(fix))
+#define va_arg(ap,type) (*(type*)(ap -= ((sizeof (type) + 1) & ~1)))
+#if __CC65_STD__ >= __CC65_STD_C99__
+#define va_copy(dest, src) ((dest)=(src))
+#endif
#define va_end(ap)
-/* PLEASE NOTE: The old va_fix macro is no longer needed. Just access the
- * parameters by name.
-#define va_fix(ap, offs) (*(unsigned*)(ap+(__fixargs__-2*offs)))
- */
-
/* End of stdarg.h */