]> git.sur5r.net Git - cc65/commitdiff
Fixed two problems that weren't obvious with the old type casts.
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 10 Oct 2000 20:42:05 +0000 (20:42 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 10 Oct 2000 20:42:05 +0000 (20:42 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@356 b7a2c559-68d2-44c3-8de9-860c34a00d81

include/stdarg.h

index fcfc411e7eace95e3aa2cd63ed7b9e10ea4c6b68..c0ebda61f044c3d5de6d847e01523d8a335d6506 100644 (file)
 typedef unsigned char* va_list;
 
 #define va_start(ap, fix)              ap = (va_list)&fix + *(((va_list)&fix)-1) - __fixargs__
-#define va_arg(ap,type)                ((type)*(ap -= ((sizeof (type) + 1) & ~1)))
+#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.
  */
-#define va_fix(ap, offs)       *(ap+(__fixargs__-2*offs))
+#define va_fix(ap, offs)               (*(unsigned*)(ap+(__fixargs__-2*offs)))