It should be a safe enough bet that any C++ compiler can handle
STDC-style varargs.
This patch removes all the (mostly spaghetti) code which used to handle
K&R-style varargs calls.
Kinkie
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: http://www.squid-cache.org/bzr/squid3/trunk/
# testament_sha1: 49937bd291eacb4b57e436fef3b143caf27fb74d
# timestamp: 2008-08-24 23:39:54 +0200
# base_revision_id: [EMAIL PROTECTED]
# wyrjstsmmmqk2xgq
#
# Begin patch
=== modified file 'include/fatal.h'
--- include/fatal.h 2004-11-08 06:29:50 +0000
+++ include/fatal.h 2008-08-24 21:38:08 +0000
@@ -4,12 +4,7 @@
#include "config.h"
SQUIDCEXTERN void fatal(const char *message);
-#if STDC_HEADERS
-SQUIDCEXTERN void
-fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
-#else
-SQUIDCEXTERN void fatalf();
-#endif
+SQUIDCEXTERN void fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
SQUIDCEXTERN void fatal_dump(const char *message);
#endif
=== modified file 'include/snmp_debug.h'
--- include/snmp_debug.h 2008-03-20 11:30:19 +0000
+++ include/snmp_debug.h 2008-08-24 21:38:08 +0000
@@ -6,10 +6,6 @@
#include "config.h"
-#if STDC_HEADERS
SQUIDCEXTERN void snmplib_debug(int, const char *,...) PRINTF_FORMAT_ARG2;
-#else
-SQUIDCEXTERN void snmplib_debug(va_alist);
-#endif
#endif /* SQUID_SNMP_DEBUG_H */
=== modified file 'snmplib/snmplib_debug.c'
--- snmplib/snmplib_debug.c 2007-12-07 01:01:52 +0000
+++ snmplib/snmplib_debug.c 2008-08-24 21:38:08 +0000
@@ -5,39 +5,18 @@
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
-#if STDC_HEADERS
#include <stdarg.h>
-#else
-#include <varargs.h>
-#endif
#include "snmp_debug.h"
-#if STDC_HEADERS
void (*snmplib_debug_hook) (int, char *,...) = NULL;
-#else
-void (*snmplib_debug_hook) (va_alist) = NULL;
-#endif
extern void
-#if STDC_HEADERS
snmplib_debug(int lvl, const char *fmt,...)
{
char buf[BUFSIZ];
va_list args;
va_start(args, fmt);
-#else
-snmplib_debug(va_alist)
- va_dcl
-{
- va_list args;
- int lvl;
- char char *fmt;
- char buf[BUFSIZ];
- va_start(args);
- lvl = va_arg(args, int);
- fmt = va_arg(args, char *);
-#endif
if (snmplib_debug_hook != NULL) {
vsnprintf(buf, BUFSIZ, fmt, args);
snmplib_debug_hook(lvl, buf);
=== modified file 'src/HttpHeaderTools.cc'
--- src/HttpHeaderTools.cc 2008-04-05 10:55:30 +0000
+++ src/HttpHeaderTools.cc 2008-08-24 21:38:08 +0000
@@ -103,27 +103,10 @@
/* same as httpHeaderPutStr, but formats the string using snprintf first */
void
-#if STDC_HEADERS
httpHeaderPutStrf(HttpHeader * hdr, http_hdr_type id, const char *fmt,...)
-#else
-httpHeaderPutStrf(va_alist)
-va_dcl
-#endif
{
-#if STDC_HEADERS
va_list args;
va_start(args, fmt);
-#else
-
- va_list args;
- HttpHeader *hdr = NULL;
- http_hdr_type id = HDR_ENUM_END;
- const char *fmt = NULL;
- va_start(args);
- hdr = va_arg(args, HttpHeader *);
- id = va_arg(args, http_hdr_type);
- fmt = va_arg(args, char *);
-#endif
httpHeaderPutStrvf(hdr, id, fmt, args);
va_end(args);
=== modified file 'src/MemBuf.cc'
--- src/MemBuf.cc 2008-06-29 13:03:44 +0000
+++ src/MemBuf.cc 2008-08-24 21:38:08 +0000
@@ -270,23 +270,11 @@
}
/* calls memBufVPrintf */
-#if STDC_HEADERS
void
MemBuf::Printf(const char *fmt,...)
{
va_list args;
va_start(args, fmt);
-#else
-void
-MemBuf::Printf(va_alist)
-va_dcl
-{
- va_list args;
- mb_size_t sz = 0;
- va_start(args);
- const char *fmt = va_arg(args, char *);
-#endif
-
vPrintf(fmt, args);
va_end(args);
}
=== modified file 'src/MemBuf.h'
--- src/MemBuf.h 2008-03-16 21:48:45 +0000
+++ src/MemBuf.h 2008-08-24 21:38:08 +0000
@@ -105,23 +105,12 @@
/** unfirtunate hack to test if the buffer has been Init()ialized */
int isNull();
-#if STDC_HEADERS
-
/**
* calls snprintf, extends buffer if needed
\note we use Printf instead of printf so the compiler won't
* think we're calling the libc printf()
*/
void Printf(const char *fmt,...) PRINTF_FORMAT_ARG2;
-#else
-
- /**
- * calls snprintf, extends buffer if needed
- \note we use Printf instead of printf so the compiler won't
- * think we're calling the libc printf()
- */
- void Printf();
-#endif
/** vPrintf for other printf()'s to use */
void vPrintf(const char *fmt, va_list ap);
=== modified file 'src/Packer.cc'
--- src/Packer.cc 2007-04-21 13:14:13 +0000
+++ src/Packer.cc 2008-08-24 21:38:08 +0000
@@ -167,25 +167,11 @@
p->append(p->real_handler, buf, sz);
}
-#if STDC_HEADERS
void
packerPrintf(Packer * p, const char *fmt,...)
{
va_list args;
va_start(args, fmt);
-#else
-void
-packerPrintf(va_alist)
-va_dcl
-{
- va_list args;
- Packer *p = NULL;
- const char *fmt = NULL;
- int sz = 0;
- va_start(args);
- p = va_arg(args, Packer *);
- fmt = va_arg(args, char *);
-#endif
assert(p);
assert(p->real_handler && p->packer_vprintf);
=== modified file 'src/Packer.h'
--- src/Packer.h 2008-03-20 11:30:19 +0000
+++ src/Packer.h 2008-08-24 21:38:08 +0000
@@ -46,11 +46,7 @@
#endif
/* append/vprintf's for Packer */
typedef void (*append_f) (void *, const char *buf, int size);
-#if STDC_HEADERS
typedef void (*vprintf_f) (void *, const char *fmt, va_list args);
-#else
-typedef void (*vprintf_f) ();
-#endif
class Packer
@@ -65,11 +61,7 @@
SQUIDCEXTERN void packerClean(Packer * p);
SQUIDCEXTERN void packerAppend(Packer * p, const char *buf, int size);
-#if STDC_HEADERS
SQUIDCEXTERN void
packerPrintf(Packer * p, const char *fmt,...) PRINTF_FORMAT_ARG2;
-#else
-SQUIDCEXTERN void packerPrintf();
-#endif
#endif /* SQUID_PACKER_H */
=== modified file 'src/Store.h'
--- src/Store.h 2008-07-13 08:37:43 +0000
+++ src/Store.h 2008-08-24 21:38:08 +0000
@@ -347,13 +347,8 @@
/// \ingroup StoreAPI
SQUIDCEXTERN int expiresMoreThan(time_t, time_t);
-#if STDC_HEADERS
/// \ingroup StoreAPI
SQUIDCEXTERN void storeAppendPrintf(StoreEntry *, const char *,...) PRINTF_FORMAT_ARG2;
-#else
-/// \ingroup StoreAPI
-SQUIDCEXTERN void storeAppendPrintf();
-#endif
/// \ingroup StoreAPI
SQUIDCEXTERN void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
=== modified file 'src/debug.cc'
--- src/debug.cc 2008-07-12 15:40:56 +0000
+++ src/debug.cc 2008-08-24 21:38:08 +0000
@@ -61,26 +61,14 @@
#endif
void
-#if STDC_HEADERS
_db_print(const char *format,...)
{
-#else
-_db_print(va_alist)
-va_dcl
-{
- const char *format = NULL;
-#endif
LOCAL_ARRAY(char, f, BUFSIZ);
va_list args1;
-#if STDC_HEADERS
va_list args2;
va_list args3;
-#else
-#define args2 args1
-#define args3 args1
-#endif
#ifdef _SQUID_MSWIN_
/* Multiple WIN32 threads may call this simultaneously */
@@ -119,7 +107,6 @@
if (!Ctx_Lock)
ctx_print();
-#if STDC_HEADERS
va_start(args1, format);
@@ -127,11 +114,6 @@
va_start(args3, format);
-#else
-
- format = va_arg(args1, const char *);
-
-#endif
snprintf(f, BUFSIZ, "%s| %s",
debugLogTime(),
@@ -154,13 +136,11 @@
va_end(args1);
-#if STDC_HEADERS
va_end(args2);
va_end(args3);
-#endif
}
static void
=== modified file 'src/logfile.cc'
--- src/logfile.cc 2007-11-14 06:25:33 +0000
+++ src/logfile.cc 2008-08-24 21:38:08 +0000
@@ -258,27 +258,13 @@
}
void
-#if STDC_HEADERS
logfilePrintf(Logfile * lf, const char *fmt,...)
-#else
-logfilePrintf(va_alist)
-va_dcl
-#endif
{
va_list args;
char buf[8192];
int s;
-#if STDC_HEADERS
va_start(args, fmt);
-#else
-
- Logfile *lf;
- const char *fmt;
- va_start(args);
- lf = va_arg(args, Logfile *);
- fmt = va_arg(args, char *);
-#endif
s = vsnprintf(buf, 8192, fmt, args);
=== modified file 'src/protos.h'
--- src/protos.h 2008-07-17 12:38:06 +0000
+++ src/protos.h 2008-08-24 21:38:08 +0000
@@ -104,11 +104,7 @@
SQUIDCEXTERN void _db_init(const char *logfile, const char *options);
SQUIDCEXTERN void _db_rotate_log(void);
-#if STDC_HEADERS
SQUIDCEXTERN void _db_print(const char *,...) PRINTF_FORMAT_ARG1;
-#else
-SQUIDCEXTERN void _db_print();
-#endif
/* packs, then prints an object using debug() */
SQUIDCEXTERN void debugObj(int section, int level, const char *label, void *obj, ObjPackMethod pm);
@@ -271,12 +267,8 @@
SQUIDCEXTERN const char *getStringPrefix(const char *str, const char *end);
SQUIDCEXTERN int httpHeaderParseInt(const char *start, int *val);
SQUIDCEXTERN int httpHeaderParseOffset(const char *start, int64_t * off);
-#if STDC_HEADERS
SQUIDCEXTERN void
httpHeaderPutStrf(HttpHeader * hdr, http_hdr_type id, const char *fmt,...) PRINTF_FORMAT_ARG3;
-#else
-SQUIDCEXTERN void httpHeaderPutStrf();
-#endif
/* Http Header */
@@ -587,12 +579,7 @@
SQUIDCEXTERN void safeunlink(const char *path, int quiet);
SQUIDCEXTERN void death(int sig);
SQUIDCEXTERN void fatal(const char *message);
-#if STDC_HEADERS
-SQUIDCEXTERN void
-fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
-#else
-SQUIDCEXTERN void fatalf();
-#endif
+SQUIDCEXTERN void fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
SQUIDCEXTERN void fatal_dump(const char *message);
SQUIDCEXTERN void sigusr2_handle(int sig);
SQUIDCEXTERN void sig_child(int sig);
@@ -739,12 +726,7 @@
SQUIDCEXTERN void logfileRotate(Logfile * lf);
SQUIDCEXTERN void logfileWrite(Logfile * lf, void *buf, size_t len);
SQUIDCEXTERN void logfileFlush(Logfile * lf);
-#if STDC_HEADERS
-SQUIDCEXTERN void
-logfilePrintf(Logfile * lf, const char *fmt,...) PRINTF_FORMAT_ARG2;
-#else
-SQUIDCEXTERN void logfilePrintf(va_alist);
-#endif
+SQUIDCEXTERN void logfilePrintf(Logfile * lf, const char *fmt,...) PRINTF_FORMAT_ARG2;
/*
* prototypes for system functions missing from system includes
=== modified file 'src/snmp_core.cc'
--- src/snmp_core.cc 2008-05-22 12:05:45 +0000
+++ src/snmp_core.cc 2008-08-24 21:38:08 +0000
@@ -61,13 +61,8 @@
mib_tree_entry *mib_tree_head;
mib_tree_entry *mib_tree_last;
-#if STDC_HEADERS
static mib_tree_entry *snmpAddNode(oid * name, int len, oid_ParseFn * parsefunction, instance_Fn * instancefunction, int children,...);
static oid *snmpCreateOid(int length,...);
-#else
-static mib_tree_entry *snmpAddNode();
-static oid *snmpCreateOid();
-#endif
SQUIDCEXTERN void (*snmplib_debug_hook) (int, char *);
static oid *static_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);
static oid *time_Inst(oid * name, snint * len, mib_tree_entry * current, oid_ParseFn ** Fn);
@@ -990,33 +985,12 @@
* Adds a node to the MIB tree structure and adds the appropriate children
*/
static mib_tree_entry *
-#if STDC_HEADERS
snmpAddNode(oid * name, int len, oid_ParseFn * parsefunction, instance_Fn * instancefunction, int children,...)
-#else
-snmpAddNode(va_alist)
-va_dcl
-#endif
{
-#if STDC_HEADERS
va_list args;
int loop;
mib_tree_entry *entry = NULL;
va_start(args, children);
-#else
-
- va_list args;
- oid *name = NULL;
- int len = 0, children = 0, loop;
- oid_ParseFn *parsefunction = NULL;
- instance_Fn *instancefunction = NULL;
- mib_tree_entry *entry = NULL;
- va_start(args);
- name = va_arg(args, oid *);
- len = va_arg(args, int);
- parsefunction = va_arg(args, oid_ParseFn *);
- instancefunction = va_arg(args, instance_Fn *);
- children = va_arg(args, int);
-#endif
debugs(49, 6, "snmpAddNode: Children : " << children << ", Oid : ");
snmpDebugOid(6, name, len);
@@ -1047,26 +1021,12 @@
* Returns the list of parameters in an oid
*/
static oid *
-#if STDC_HEADERS
snmpCreateOid(int length,...)
-#else
-snmpCreateOid(va_alist)
-va_dcl
-#endif
{
-#if STDC_HEADERS
va_list args;
oid *new_oid;
int loop;
va_start(args, length);
-#else
-
- va_list args;
- int length = 0, loop;
- oid *new_oid;
- va_start(args);
- length va_arg(args, int);
-#endif
new_oid = (oid *)xmalloc(sizeof(oid) * length);
=== modified file 'src/store.cc'
--- src/store.cc 2008-07-13 08:37:43 +0000
+++ src/store.cc 2008-08-24 21:38:08 +0000
@@ -857,25 +857,10 @@
void
-#if STDC_HEADERS
storeAppendPrintf(StoreEntry * e, const char *fmt,...)
-#else
-storeAppendPrintf(va_alist)
-va_dcl
-#endif
{
-#if STDC_HEADERS
va_list args;
va_start(args, fmt);
-#else
-
- va_list args;
- StoreEntry *e = NULL;
- const char *fmt = NULL;
- va_start(args);
- e = va_arg(args, StoreEntry *);
- fmt = va_arg(args, char *);
-#endif
storeAppendVPrintf(e, fmt, args);
va_end(args);
=== modified file 'src/tests/stub_store.cc'
--- src/tests/stub_store.cc 2007-04-21 13:14:13 +0000
+++ src/tests/stub_store.cc 2008-08-24 21:38:08 +0000
@@ -38,18 +38,13 @@
StorePointer Store::CurrentRoot = NULL;
extern "C" void
-#if STDC_HEADERS
- storeAppendPrintf(StoreEntry * e, const char *fmt,...)
-#else
- storeAppendPrintf(va_alist)
- va_dcl
-#endif
+storeAppendPrintf(StoreEntry * e, const char *fmt,...)
{
fatal("Not implemented");
}
extern "C" void
- storeAppendVPrintf(StoreEntry * e, const char *fmt, va_list vargs)
+storeAppendVPrintf(StoreEntry * e, const char *fmt, va_list vargs)
{
fatal("Not implemented");
}
=== modified file 'src/tools.cc'
--- src/tools.cc 2008-07-17 12:27:10 +0000
+++ src/tools.cc 2008-08-24 21:38:08 +0000
@@ -493,22 +493,11 @@
}
/* printf-style interface for fatal */
-#if STDC_HEADERS
void
fatalf(const char *fmt,...)
{
va_list args;
va_start(args, fmt);
-#else
-void
-fatalf(va_alist)
-va_dcl
-{
- va_list args;
- const char *fmt = NULL;
- va_start(args);
- fmt = va_arg(args, char *);
-#endif
fatalvf(fmt, args);
va_end(args);
=== modified file 'test-suite/test_tools.cc'
--- test-suite/test_tools.cc 2008-03-20 11:30:19 +0000
+++ test-suite/test_tools.cc 2008-08-24 21:38:08 +0000
@@ -24,28 +24,14 @@
_db_print_stderr(const char *format, va_list args);
void
-#if STDC_HEADERS
_db_print(const char *format,...)
{
-#else
-_db_print(va_alist)
-va_dcl
-{
- const char *format = NULL;
-#endif
LOCAL_ARRAY(char, f, BUFSIZ);
va_list args1;
-#if STDC_HEADERS
va_list args2;
va_list args3;
-#else
-#define args2 args1
-#define args3 args1
-#endif
-
-#if STDC_HEADERS
va_start(args1, format);
@@ -53,12 +39,6 @@
va_start(args3, format);
-#else
-
- format = va_arg(args1, const char *);
-
-#endif
-
snprintf(f, BUFSIZ, "%s| %s",
"stub time", //debugLogTime(squid_curtime),
format);
@@ -67,13 +47,9 @@
va_end(args1);
-#if STDC_HEADERS
-
va_end(args2);
va_end(args3);
-
-#endif
}
static void
@@ -108,21 +84,10 @@
}
/* printf-style interface for fatal */
-#if STDC_HEADERS
void
fatalf(const char *fmt,...) {
va_list args;
va_start(args, fmt);
-#else
-void
-fatalf(va_alist)
-va_dcl
-{
- va_list args;
- const char *fmt = NULL;
- va_start(args);
- fmt = va_arg(args, char *);
-#endif
fatalvf(fmt, args);
va_end(args);
# Begin bundle
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