Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

stdarg.h (737B)


      1 #ifndef __STDARG
      2 #define __STDARG
      3 
      4 #if !defined(_VA_LIST)
      5 #define _VA_LIST
      6 typedef char *__va_list;
      7 #endif
      8 typedef __va_list va_list;
      9 
     10 #define va_start(list, start) ((void)((list) = (sizeof(start)<4 ? \
     11 	(char *)((int *)&(start)+1) : (char *)(&(start)+1))))
     12 #define __va_arg(list, mode, n) \
     13 	(*(mode *)(&(list += ((sizeof(mode)+n)&~n))[-(int)((sizeof(mode)+n)&~n)]))
     14 #define _bigendian_va_arg(list, mode, n) (\
     15 	sizeof(mode)==1 ? *(mode *)(&(list += 4)[-1]) : \
     16 	sizeof(mode)==2 ? *(mode *)(&(list += 4)[-2]) : __va_arg(list, mode, n))
     17 #define _littleendian_va_arg(list, mode, n) __va_arg(list, mode, n)
     18 #define va_end(list) ((void)0)
     19 #define va_arg(list, mode) _littleendian_va_arg(list, mode, 3U)
     20 typedef void *__gnuc_va_list;
     21 #endif