home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 2 / DATAFILE_PDCD2.iso / utilities2 / unixlib36d / UnixLib36d / clib / h / stdarg < prev    next >
Encoding:
Text File  |  1994-02-27  |  596 b   |  26 lines

  1. /* stdarg.h (c) Copyright 1990 H.Rogers */
  2.  
  3. #if !defined(__STDARG_H) && !defined(_VARARGS_H)
  4. #define __STDARG_H
  5. #define __VARARGS_H
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10.  
  11. typedef char *va_list;
  12.  
  13. #define va_align(x)    (((x) + (sizeof(int) - 1)) & (~(sizeof(int) - 1)))
  14.  
  15. #define va_start(a,p)    ((void)((a) = ((char *)(&(p)) + va_align(sizeof(p)))))
  16. #define va_arg(a,t)    ((sizeof(t) > sizeof(int)) ? \
  17.     *(t *)(((a) += va_align(sizeof(t))) - va_align(sizeof(t))) : \
  18.     (t)(*(int *)(((a) += sizeof(int)) - sizeof(int))))
  19. #define va_end(a)    ((void)((a) = (char *)-1))
  20.  
  21. #ifdef __cplusplus
  22.     }
  23. #endif
  24.  
  25. #endif
  26.