home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Exec 5 / CD_Magazyn_EXEC_nr_5.iso / Programy / Programowanie / vbcc07e.lzx / vbcc / amiga68k / include / stdarg.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-12-03  |  668 b   |  25 lines

  1. #ifndef __STDARG_H
  2. #define __STDARG_H 1
  3.  
  4. typedef unsigned char *va_list;
  5.  
  6. #define __va_rounded_size(__TYPE)  \
  7.   (((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
  8.  
  9. #define va_start(__ap, __lastarg) ((__ap) = (va_list)(&__lastarg + 1))
  10.  
  11. #define va_arg(__AP, __TYPE) \
  12.  (__AP = ((char *) (__AP) + __va_rounded_size (__TYPE)),     \
  13.   *((__TYPE *)((__AP) - __va_rounded_size (__TYPE))))
  14.  
  15. #define va_end(__ap) ((__ap) = 0L)
  16.  
  17. #if 0
  18. #define va_start(ap, lastarg) ((ap) = (va_list)(&lastarg + 1))
  19. #define va_arg(ap, type) ((ap) += (sizeof(type)<sizeof(int)?sizeof(int):sizeof(type)), ((type *)(ap))[-1])
  20. #define va_end(ap) ((ap) = 0L)
  21. #endif
  22.  
  23. #endif
  24.  
  25.