]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Fix many C/C++ ABI warnings
authorAmos Jeffries <squid3@treenet.co.nz>
Sat, 4 Dec 2010 13:10:19 +0000 (06:10 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 4 Dec 2010 13:10:19 +0000 (06:10 -0700)
helpers/basic_auth/MSNT/msntauth.h
helpers/basic_auth/PAM/basic_pam_auth.cc
helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.cc
include/fatal.h
src/Store.h
src/protos.h
src/snmp_core.cc
src/store_swapout.cc
src/tests/stub_store.cc
tools/squidclient.cc

index dd33cb77f28e20c1c10d154053779396944c946f..7eadb18d59f05598fb408ff723e00e68f8898ffc 100644 (file)
@@ -1,7 +1,10 @@
+#ifndef _SQUID_HELPERS_BASIC_AUTH_MSNT_MSNTAUTH_H
+#define _SQUID_HELPERS_BASIC_AUTH_MSNT_MSNTAUTH_H
+
 extern int OpenConfigFile(void);
 extern int QueryServers(char *, char *);
 extern void Checktimer(void);
-extern void Check_forchange(int);
+extern "C" void Check_forchange(int);
 extern int Read_denyusers(void);
 extern int Read_allowusers(void);
 extern int Check_user(char *);
@@ -9,3 +12,4 @@ extern int QueryServers(char *, char *);
 extern int Check_ifuserallowed(char *ConnectingUser);
 extern void Check_forallowchange(void);
 
+#endif /* _SQUID_HELPERS_BASIC_AUTH_MSNT_MSNTAUTH_H */
index 9130d03e733e9a12333300494712b952ac3d2faf..6a103c58f748a4b1171a493c54a7f6f45afc90a7 100644 (file)
 static char *password = NULL;  /* Workaround for Solaris 2.6 brokenness */
 #endif
 
+extern "C" int password_conversation(int num_msg, PAM_CONV_FUNC_CONST_PARM struct pam_message **msg,
+                                     struct pam_response **resp, void *appdata_ptr);
+
 /**
  * A simple "conversation" function returning the supplied password.
  * Has a bit to much error control, but this is my first PAM application
  * so I'd rather check everything than make any mistakes. The function
  * expects a single converstation message of type PAM_PROMPT_ECHO_OFF.
  */
-static int
+int
 password_conversation(int num_msg, PAM_CONV_FUNC_CONST_PARM struct pam_message **msg, struct pam_response **resp, void *appdata_ptr)
 {
     if (num_msg != 1 || msg[0]->msg_style != PAM_PROMPT_ECHO_OFF) {
index 6319e3056526abf429e103ef7b753415811d3c40..5249d838456161d453138e891d819af9d59b5f80 100644 (file)
@@ -317,10 +317,12 @@ ntlm_check_auth(ntlm_authenticate * auth, int auth_length)
     return credentials;
 }
 
-/* signal handler to be invoked when the authentication operation
- * times out */
+extern "C" void timeout_during_auth(int signum);
+
 static char got_timeout = 0;
-static void
+/** signal handler to be invoked when the authentication operation
+ * times out */
+void
 timeout_during_auth(int signum)
 {
     dc_disconnect();
index 6a887308df6f3d0f22094d60137274ddafc9ed9a..4a8892c5e8fa60fd360522c35491729ff0d90166 100644 (file)
@@ -3,6 +3,6 @@
 
 SQUIDCEXTERN void fatal(const char *message);
 SQUIDCEXTERN void fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
-SQUIDCEXTERN void fatal_dump(const char *message);
+extern void fatal_dump(const char *message);
 
-#endif
+#endif /* SQUID_FATAL_H */
index d643a76ae1ded9c6d85f13e88773cbf157670f5a..b3ba501b1d0fd30d32c331847cc4f5b254335115 100644 (file)
@@ -364,7 +364,7 @@ SQUIDCEXTERN int expiresMoreThan(time_t, time_t);
 SQUIDCEXTERN void storeAppendPrintf(StoreEntry *, const char *,...) PRINTF_FORMAT_ARG2;
 
 /// \ingroup StoreAPI
-SQUIDCEXTERN void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
+extern void storeAppendVPrintf(StoreEntry *, const char *, va_list ap);
 
 /// \ingroup StoreAPI
 SQUIDCEXTERN int storeTooManyDiskFilesOpen(void);
index beb25ecd120eff185bec377bf2ac972e830e68cb..12fdcda6041d3d55ee08d7434c79ff6950842d1a 100644 (file)
@@ -294,21 +294,21 @@ SQUIDCEXTERN void addr2oid(Ip::Address &addr, oid *Dest);
 SQUIDCEXTERN void oid2addr(oid *Dest, Ip::Address &addr, u_int code);
 
 SQUIDCEXTERN Ip::Address *client_entry(Ip::Address *current);
-SQUIDCEXTERN variable_list *snmp_basicFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_confFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_sysFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_prfSysFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_prfProtoFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_prfPeerFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_netIpFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_netFqdnFn(variable_list *, snint *);
+extern variable_list *snmp_basicFn(variable_list *, snint *);
+extern variable_list *snmp_confFn(variable_list *, snint *);
+extern variable_list *snmp_sysFn(variable_list *, snint *);
+extern variable_list *snmp_prfSysFn(variable_list *, snint *);
+extern variable_list *snmp_prfProtoFn(variable_list *, snint *);
+extern variable_list *snmp_prfPeerFn(variable_list *, snint *);
+extern variable_list *snmp_netIpFn(variable_list *, snint *);
+extern variable_list *snmp_netFqdnFn(variable_list *, snint *);
 #if USE_DNSSERVERS
-SQUIDCEXTERN variable_list *snmp_netDnsFn(variable_list *, snint *);
+extern variable_list *snmp_netDnsFn(variable_list *, snint *);
 #else
-SQUIDCEXTERN variable_list *snmp_netIdnsFn(variable_list *, snint *);
+extern variable_list *snmp_netIdnsFn(variable_list *, snint *);
 #endif /* USE_DNSSERVERS */
-SQUIDCEXTERN variable_list *snmp_meshPtblFn(variable_list *, snint *);
-SQUIDCEXTERN variable_list *snmp_meshCtblFn(variable_list *, snint *);
+extern variable_list *snmp_meshPtblFn(variable_list *, snint *);
+extern variable_list *snmp_meshCtblFn(variable_list *, snint *);
 #endif /* SQUID_SNMP */
 
 #if USE_WCCP
@@ -526,7 +526,7 @@ SQUIDCEXTERN void storeDigestInit(void);
 SQUIDCEXTERN void storeDigestNoteStoreReady(void);
 SQUIDCEXTERN void storeDigestScheduleRebuild(void);
 SQUIDCEXTERN void storeDigestDel(const StoreEntry * entry);
-SQUIDCEXTERN void storeDigestReport(StoreEntry *);
+extern void storeDigestReport(StoreEntry *);
 
 /*
  * store_rebuild.c
@@ -556,10 +556,9 @@ SQUIDCEXTERN int storeClientIsThisAClient(store_client * sc, void *someClient);
 SQUIDCEXTERN const char *getMyHostname(void);
 SQUIDCEXTERN const char *uniqueHostname(void);
 SQUIDCEXTERN void safeunlink(const char *path, int quiet);
+
+#include "fatal.h"
 void death(int sig);
-SQUIDCEXTERN void fatal(const char *message);
-SQUIDCEXTERN void fatalf(const char *fmt,...) PRINTF_FORMAT_ARG1;
-SQUIDCEXTERN void fatal_dump(const char *message);
 void sigusr2_handle(int sig);
 void sig_child(int sig);
 SQUIDCEXTERN void leave_suid(void);
@@ -569,7 +568,7 @@ SQUIDCEXTERN void writePidFile(void);
 SQUIDCEXTERN void setSocketShutdownLifetimes(int);
 SQUIDCEXTERN void setMaxFD(void);
 SQUIDCEXTERN void setSystemLimits(void);
-SQUIDCEXTERN void squid_signal(int sig, SIGHDLR *, int flags);
+extern void squid_signal(int sig, SIGHDLR *, int flags);
 SQUIDCEXTERN pid_t readPidFile(void);
 SQUIDCEXTERN void keepCapabilities(void);
 SQUIDCEXTERN void BroadcastSignalIfAny(int& sig);
index 25d4d80a1cf1671e4755fba17319c57939c2c1c4..807fdc473c32f90a645174bd3ce483700197b341 100644 (file)
@@ -99,7 +99,7 @@ static oid_ParseFn *snmpTreeNext(oid * Current, snint CurrentLen, oid ** Next, s
 static oid_ParseFn *snmpTreeGet(oid * Current, snint CurrentLen);
 static mib_tree_entry *snmpTreeEntry(oid entry, snint len, mib_tree_entry * current);
 static mib_tree_entry *snmpTreeSiblingEntry(oid entry, snint len, mib_tree_entry * current);
-static void snmpSnmplibDebug(int lvl, char *buf);
+extern "C" void snmpSnmplibDebug(int lvl, char *buf);
 
 /*
  * The functions used during startup:
@@ -1138,7 +1138,7 @@ snmpDebugOid(oid * Name, snint Len, MemBuf &outbuf)
     return outbuf.content();
 }
 
-static void
+void
 snmpSnmplibDebug(int lvl, char *buf)
 {
     debugs(49, lvl, buf);
index d9b98952f6a11d6b64b29fd98d97c9ef056b7832..f0ac547c9b08068e5fbfcdfdcd5559adc2424f75 100644 (file)
@@ -47,6 +47,12 @@ static void storeSwapOutStart(StoreEntry * e);
 static StoreIOState::STIOCB storeSwapOutFileClosed;
 static StoreIOState::STFNCB storeSwapOutFileNotify;
 
+// wrapper to cross C/C++ ABI boundary. xfree is extern "C" for libraries.
+static void xfree_cppwrapper(void *x)
+{
+    xfree(x);
+}
+
 /* start swapping object to disk */
 static void
 storeSwapOutStart(StoreEntry * e)
@@ -96,7 +102,7 @@ storeSwapOutStart(StoreEntry * e)
     e->swap_dirn = mem->swapout.sio->swap_dirn;
 
     /* write out the swap metadata */
-    storeIOWrite(mem->swapout.sio, buf, mem->swap_hdr_sz, 0, xfree);
+    storeIOWrite(mem->swapout.sio, buf, mem->swap_hdr_sz, 0, xfree_cppwrapper);
 }
 
 static void
index ec8407daa44bd97502ac83780b6b419cd513b04f..9832a53f9f2114c78ebc41ac1f36b70bb40361b7 100644 (file)
@@ -43,7 +43,7 @@ storeAppendPrintf(StoreEntry * e, const char *fmt,...)
     fatal("storeAppendPrintf: Not implemented");
 }
 
-extern "C" void
+void
 storeAppendVPrintf(StoreEntry * e, const char *fmt, va_list vargs)
 {
     fatal("storeAppendVPrintf: Not implemented");
index 07b6371c635c6958c7e5fb6a9a6bb38d97c61a7c..f4820a6fde08f72d94da7fe1fbbe6e97d04eaf5e 100644 (file)
@@ -126,8 +126,8 @@ static int client_comm_connect(int, const Ip::Address &, struct timeval *);
 static void usage(const char *progname);
 
 static int Now(struct timeval *);
-static SIGHDLR catchSignal;
-static SIGHDLR pipe_handler;
+SIGHDLR catchSignal;
+SIGHDLR pipe_handler;
 static void set_our_signal(void);
 static ssize_t myread(int fd, void *buf, size_t len);
 static ssize_t mywrite(int fd, void *buf, size_t len);
@@ -758,14 +758,14 @@ Now(struct timeval *tp)
 #endif
 }                              /* ARGSUSED */
 
-static void
+void
 catchSignal(int sig)
 {
     interrupted = 1;
     fprintf(stderr, "Interrupted.\n");
 }
 
-static void
+void
 pipe_handler(int sig)
 {
     fprintf(stderr, "SIGPIPE received.\n");