stdarg.h 414 B

123456789101112131415
  1. #ifndef __STDARG
  2. #define __STDARG
  3. typedef char *va_list;
  4. #define va_start(list, start) list = (char *)(&(start)+1)
  5. #define va_end(list)
  6. #define va_arg(list, mode)\
  7. ((sizeof(mode) <= 4)?\
  8. ((list += 4), (mode*)list)[-1]:\
  9. (signof(mode) != signof(double))?\
  10. ((list += sizeof(mode)), (mode*)list)[-1]:\
  11. ((list = (char*)((unsigned long)(list+7) & ~7) + sizeof(mode)), (mode*)list)[-1])
  12. #endif /* __STDARG */