1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/********************************************
vargs.h
copyright 1992 Michael D. Brennan
This is a source file for mawk, an implementation of
the AWK programming language.
Mawk is distributed without warranty under the terms of
the GNU General Public License, version 2, 1991.
********************************************/
/*
$Log: vargs.h,v $
Revision 1.1 1993/07/02 23:58:01 jtc
Updated to mawk 1.1.4
* Revision 1.1 1992/10/02 23:23:41 mike
* Initial revision
*
*/
/* provides common interface to <stdarg.h> or <varargs.h>
only used for error messages
*/
#if HAVE_STDARG_H == 0
#include <varargs.h>
#ifndef VA_ALIST
#define VA_ALIST(type, arg) (va_alist) va_dcl { type arg ;
#define VA_ALIST2(t1,a1,t2,a2) (va_alist) va_dcl { t1 a1 ; t2 a2 ;
#endif
#define VA_START(p,type, last) va_start(p) ;\
last = va_arg(p,type)
#define VA_START2(p,t1,a1,t2,a2) va_start(p) ;\
a1 = va_arg(p,t1);\
a2 = va_arg(p,t2)
#else /* HAVE_STDARG_H */
#include <stdarg.h>
#ifndef VA_ALIST
#define VA_ALIST(type, arg) (type arg, ...) {
#define VA_ALIST2(t1,a1,t2,a2) (t1 a1,t2 a2,...) {
#endif
#define VA_START(p,type,last) va_start(p,last)
#define VA_START2(p,t1,a1,t2,a2) va_start(p,a2)
#endif
|