home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / famapi.zip / INCLUDE.ZIP / STDARG.H < prev    next >
C/C++ Source or Header  |  1992-12-19  |  828b  |  28 lines

  1. //
  2. //      **************************************************************
  3. //       JdeBP C++ Library Routines      General Public Licence v1.00
  4. //          Copyright (c) 1991,1992  Jonathan de Boyne Pollard
  5. //      **************************************************************
  6. //
  7. //  STANDARD VARIABLE ARGUMENTS (ANSI)
  8. //
  9.  
  10. #if !defined(___STDDEF_H_INCLUDED)
  11. #include <_stddef.h>
  12. #endif
  13.  
  14. #define NULL    _NULL
  15.  
  16. #define _ARGUPBOUND 1
  17. #define _ARGDNBOUND 1
  18. #define _ArgBound(X,b)  (sizeof(X) + (b) & ~(b))
  19.  
  20. #ifndef _VA_LIST_DEFINED
  21. typedef char *va_list;
  22. #define _VA_LIST_DEFINED
  23. #endif
  24.  
  25. #define va_start(ap,v)  (void)((ap) = (va_list)&(v) + _ArgBound(v, _ARGUPBOUND))
  26. #define va_arg(ap,t)    (*(t *)(((ap) += _ArgBound(t, _ARGUPBOUND)) - _ArgBound(t, _ARGDNBOUND)))
  27. #define va_end(ap)      (ap) = NULL
  28.