w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

varargs.h
Go to the documentation of this file.
1 /* varargs.h for MicroGnuEmacs 2a. This one will work on systems that */
2 /* the non-varargs version of mg 1 did. */
3 /* based on the one I wrote for os9/68k . I did not look at the bsd code. */
4 
5 /* by Robert A. Larson */
6 
7 /* assumptions made about how arguments are passed: */
8 /* arguments are stored in a block of memory with no padding between. */
9 /* The first argument will have the lowest address */
10 
11 /* varargs is a "portable" way to write a routine that takes a variable */
12 /* number of arguements. This implemination agrees with both the 4.2bsd*/
13 /* and Sys V documentation of varargs. Note that just because varargs.h*/
14 /* is used does not mean that it is used properly. */
15 
16 #define va_dcl unsigned va_alist;
17 
18 #ifndef __TURBOC__ /* 90.03.23 by A.Shirahashi */
19 #undef va_start
20 #undef va_arg
21 #undef va_end
22 typedef char *va_list;
23 #endif /* __TURBOC__ */
24 
25 #if defined(__TURBOC__) && __TURBOC__ > 0x0200
26 /* 90.12.27 For Turbo C++ 1.0 by Junn Ohta */
27 typedef void *va_list;
28 #endif
29 
30 #define va_start(pvar) ((pvar) = (char *)&va_alist)
31 
32 #ifdef __TURBOC__ /* 90.03.23 by A.Shirahashi */
33 #define va_arg(pvar,type) ((((char *)(pvar))+=sizeof(type)),*(((type *)(pvar)) - 1))
34 #else /* NOT __TURBOC__ */
35 #define va_arg(pvar,type) (((pvar)+=sizeof(type)),*(((type *)(pvar)) - 1))
36 #endif /* __TURBOC__ */
37 
38 #define va_end(pvar) /* va_end is simple */
char * va_list
Definition: varargs.h:22