From 1174e5dbe3f1ef1a6104930585ab4cab71951437 Mon Sep 17 00:00:00 2001 From: cuz Date: Tue, 10 Oct 2000 20:42:05 +0000 Subject: [PATCH] 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 --- include/stdarg.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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))) -- 2.39.5