Squid Web Cache
v8/master
Loading...
Searching...
No Matches
stdvarargs.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3
*
4
* Squid software is distributed under GPLv2+ license and includes
5
* contributions from numerous individuals and organizations.
6
* Please see the COPYING and CONTRIBUTORS files for details.
7
*/
8
9
#ifndef SQUID_COMPAT_STDVARARGS_H
10
#define SQUID_COMPAT_STDVARARGS_H
11
12
/*
13
* va_* variables come from various places on different platforms.
14
* We provide a clean set of wrappers for the various operations
15
* Depending on what is available and needed.
16
*/
17
#if defined(__cplusplus)
18
#include <cstdarg>
19
20
#else
21
#if HAVE_STDARG_H
22
#include <stdarg.h>
23
#define HAVE_STDARGS
/* let's hope that works everywhere (mj) */
24
#define VA_LOCAL_DECL va_list ap;
25
#define VA_START(f) va_start(ap, f)
26
#define VA_SHIFT(v,t) ;
/* no-op for ANSI */
27
#define VA_END va_end(ap)
28
29
#else
/* !HAVE_STDARG_H */
30
#if HAVE_VARARGS_H
31
#include <varargs.h>
32
#undef HAVE_STDARGS
33
#define VA_LOCAL_DECL va_list ap;
34
#define VA_START(f) va_start(ap)
/* f is ignored! */
35
#define VA_SHIFT(v,t) v = va_arg(ap,t)
36
#define VA_END va_end(ap)
37
38
#else
/* !HAVE_VARARGS_H*/
39
#error XX **NO VARARGS ** XX
40
#endif
/* HAVE_VARARGS_H */
41
#endif
/* HAVE_STDARG_H */
42
#endif
/* HAVE_CSTDARG */
43
44
/* Make sure syslog goes after stdarg/varargs */
45
#if HAVE_SYSLOG_H
46
#include <syslog.h>
47
#endif
48
49
#endif
/* SQUID_COMPAT_STDVARARGS_H */
50
squid
compat
stdvarargs.h
Generated by
1.9.8