]> git.sur5r.net Git - cc65/blobdiff - include/stdarg.h
Working
[cc65] / include / stdarg.h
index 6a52b67319aeb0c771f96af556d0302948259444..be9ce537ff89976f507b3e72256f0152f0afb05d 100644 (file)
@@ -6,7 +6,7 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2000 Ullrich von Bassewitz                                       */
+/* (C) 1998-2001 Ullrich von Bassewitz                                       */
 /*               Wacholderweg 14                                             */
 /*               D-70597 Stuttgart                                           */
 /* EMail:        uz@musoftware.de                                            */
 
 typedef unsigned char* va_list;
 
-#define va_start(ap, fix)              ap = (va_list)&fix + __argsize__ - __fixargs__
+#define va_start(ap, fix)              ap = ((va_list)&(fix))
 #define va_arg(ap,type)                (*(type*)(ap -= ((sizeof (type) + 1) & ~1)))
 #define va_copy(dest, src)     ((dest)=(src))
 #define va_end(ap)
 
-/* This is only valid *before* the first call to va_arg. It will also work
- * only for int sized parameters.
- */
+/* 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)))
+ */