From: cuz Date: Tue, 10 Oct 2000 20:42:05 +0000 (+0000) Subject: Fixed two problems that weren't obvious with the old type casts. X-Git-Tag: V2.12.0~3170 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=1174e5dbe3f1ef1a6104930585ab4cab71951437;p=cc65 Fixed two problems that weren't obvious with the old type casts. git-svn-id: svn://svn.cc65.org/cc65/trunk@356 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/include/stdarg.h b/include/stdarg.h index fcfc411e7..c0ebda61f 100644 --- a/include/stdarg.h +++ b/include/stdarg.h @@ -41,14 +41,14 @@ 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)))