summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2011-09-03 16:06:10 +0200
committerYang Tse <yangsita@gmail.com>2011-09-03 16:07:09 +0200
commit6b75d2c2df7209919a70a29a4479625b62fb3c28 (patch)
treea5b2bd4195db4cb69f3299814e910bd04ebb6eac
parent2be65bb0c5317b6821882b41558bd8cd2eb64d25 (diff)
downloadgnurl-6b75d2c2df7209919a70a29a4479625b62fb3c28.tar.gz
gnurl-6b75d2c2df7209919a70a29a4479625b62fb3c28.tar.bz2
gnurl-6b75d2c2df7209919a70a29a4479625b62fb3c28.zip
fix a bunch of MSVC compiler warnings
-rw-r--r--lib/asyn.h6
-rw-r--r--lib/connect.c2
-rw-r--r--lib/connect.h3
-rw-r--r--lib/content_encoding.h10
-rw-r--r--lib/cookie.h7
-rw-r--r--lib/curl_ntlm.c2
-rw-r--r--lib/curl_ntlm.h2
-rw-r--r--lib/curl_ntlm_msgs.c2
-rw-r--r--lib/curl_ntlm_wb.c16
-rw-r--r--lib/cyassl.h3
-rw-r--r--lib/ftp.c2
-rw-r--r--lib/hostip6.c2
-rw-r--r--lib/http_digest.h9
-rw-r--r--lib/imap.c2
-rw-r--r--lib/krb5.c2
-rw-r--r--lib/ldap.c4
-rw-r--r--lib/memdebug.c6
-rw-r--r--lib/memdebug.h2
-rw-r--r--lib/non-ascii.h6
-rw-r--r--lib/nss.c2
-rw-r--r--lib/nssg.h3
-rw-r--r--lib/polarssl.h3
-rw-r--r--lib/pop3.c2
-rw-r--r--lib/qssl.h10
-rw-r--r--lib/select.c2
-rw-r--r--lib/sendf.h6
-rw-r--r--lib/setup.h2
-rw-r--r--lib/setup_once.h18
-rw-r--r--lib/smtp.c2
-rw-r--r--lib/splay.h11
-rw-r--r--lib/ssh.c2
-rw-r--r--lib/sslgen.h15
-rw-r--r--lib/ssluse.c6
-rw-r--r--lib/telnet.c2
-rw-r--r--lib/url.h3
-rw-r--r--src/main.c2
-rw-r--r--src/setup.h2
-rw-r--r--tests/libtest/first.c2
-rw-r--r--tests/libtest/lib500.c2
-rw-r--r--tests/server/getpart.c2
-rw-r--r--tests/unit/curlcheck.h4
41 files changed, 109 insertions, 82 deletions
diff --git a/lib/asyn.h b/lib/asyn.h
index 34f9c14c5..e7c1b886d 100644
--- a/lib/asyn.h
+++ b/lib/asyn.h
@@ -146,15 +146,15 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
#ifndef CURLRES_ASYNCH
/* convert these functions if an asynch resolver isn't used */
-#define Curl_resolver_cancel(x)
+#define Curl_resolver_cancel(x) Curl_nop_stmt
#define Curl_resolver_is_resolved(x,y) CURLE_COULDNT_RESOLVE_HOST
#define Curl_resolver_wait_resolv(x,y) CURLE_COULDNT_RESOLVE_HOST
#define Curl_resolver_getsock(x,y,z) 0
#define Curl_resolver_duphandle(x,y) CURLE_OK
#define Curl_resolver_init(x) CURLE_OK
#define Curl_resolver_global_init() CURLE_OK
-#define Curl_resolver_global_cleanup()
-#define Curl_resolver_cleanup(x)
+#define Curl_resolver_global_cleanup() Curl_nop_stmt
+#define Curl_resolver_cleanup(x) Curl_nop_stmt
#endif
#ifdef CURLRES_ASYNCH
diff --git a/lib/connect.c b/lib/connect.c
index 7f7e16794..df304fc62 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -790,7 +790,7 @@ static void nosigpipe(struct connectdata *conn,
Curl_strerror(conn, SOCKERRNO));
}
#else
-#define nosigpipe(x,y)
+#define nosigpipe(x,y) Curl_nop_stmt
#endif
#ifdef USE_WINSOCK
diff --git a/lib/connect.h b/lib/connect.h
index 299233d4f..052549368 100644
--- a/lib/connect.h
+++ b/lib/connect.h
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
#include "nonblock.h" /* for curlx_nonblock(), formerly Curl_nonblock() */
@@ -64,7 +65,7 @@ curl_socket_t Curl_getconnectinfo(struct SessionHandle *data,
*/
void Curl_sndbufset(curl_socket_t sockfd);
#else
-#define Curl_sndbufset(y)
+#define Curl_sndbufset(y) Curl_nop_stmt
#endif
void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd);
diff --git a/lib/content_encoding.h b/lib/content_encoding.h
index 3aff9d3c0..372da4a3b 100644
--- a/lib/content_encoding.h
+++ b/lib/content_encoding.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_CONTENT_ENCODING_H
-#define __CURL_CONTENT_ENCODING_H
+#ifndef HEADER_CURL_CONTENT_ENCODING_H
+#define HEADER_CURL_CONTENT_ENCODING_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -32,7 +32,7 @@
void Curl_unencode_cleanup(struct connectdata *conn);
#else
#define ALL_CONTENT_ENCODINGS "identity"
-#define Curl_unencode_cleanup(x)
+#define Curl_unencode_cleanup(x) Curl_nop_stmt
#endif
CURLcode Curl_unencode_deflate_write(struct connectdata *conn,
@@ -45,4 +45,4 @@ Curl_unencode_gzip_write(struct connectdata *conn,
ssize_t nread);
-#endif
+#endif /* HEADER_CURL_CONTENT_ENCODING_H */
diff --git a/lib/cookie.h b/lib/cookie.h
index c9d397934..5997e4680 100644
--- a/lib/cookie.h
+++ b/lib/cookie.h
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
#include <curl/curl.h>
@@ -86,10 +87,10 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies);
#if defined(CURL_DISABLE_HTTP) || defined(CURL_DISABLE_COOKIES)
#define Curl_cookie_list(x) NULL
-#define Curl_cookie_loadfiles(x) do { } while (0)
+#define Curl_cookie_loadfiles(x) Curl_nop_stmt
#define Curl_cookie_init(x,y,z,w) NULL
-#define Curl_cookie_cleanup(x) do { } while (0)
-#define Curl_flush_cookies(x,y)
+#define Curl_cookie_cleanup(x) Curl_nop_stmt
+#define Curl_flush_cookies(x,y) Curl_nop_stmt
#else
void Curl_flush_cookies(struct SessionHandle *data, int cleanup);
void Curl_cookie_cleanup(struct CookieInfo *);
diff --git a/lib/curl_ntlm.c b/lib/curl_ntlm.c
index bdf74053c..0e492d707 100644
--- a/lib/curl_ntlm.c
+++ b/lib/curl_ntlm.c
@@ -57,7 +57,7 @@
#if DEBUG_ME
# define DEBUG_OUT(x) x
#else
-# define DEBUG_OUT(x)
+# define DEBUG_OUT(x) Curl_nop_stmt
#endif
CURLcode Curl_input_ntlm(struct connectdata *conn,
diff --git a/lib/curl_ntlm.h b/lib/curl_ntlm.h
index e84ba3f6b..b2783778b 100644
--- a/lib/curl_ntlm.h
+++ b/lib/curl_ntlm.h
@@ -37,7 +37,7 @@ void Curl_http_ntlm_cleanup(struct connectdata *conn);
#else
-#define Curl_http_ntlm_cleanup(a)
+#define Curl_http_ntlm_cleanup(a) Curl_nop_stmt
#endif
diff --git a/lib/curl_ntlm_msgs.c b/lib/curl_ntlm_msgs.c
index e27e947dd..0c8d2e961 100644
--- a/lib/curl_ntlm_msgs.c
+++ b/lib/curl_ntlm_msgs.c
@@ -182,7 +182,7 @@ static void ntlm_print_hex(FILE *handle, const char *buf, size_t len)
fprintf(stderr, "%02.2x", (unsigned int)*p++);
}
#else
-# define DEBUG_OUT(x)
+# define DEBUG_OUT(x) Curl_nop_stmt
#endif
#ifndef USE_WINDOWS_SSPI
diff --git a/lib/curl_ntlm_wb.c b/lib/curl_ntlm_wb.c
index ff7339373..18d0d13f8 100644
--- a/lib/curl_ntlm_wb.c
+++ b/lib/curl_ntlm_wb.c
@@ -60,7 +60,17 @@
#if DEBUG_ME
# define DEBUG_OUT(x) x
#else
-# define DEBUG_OUT(x)
+# define DEBUG_OUT(x) Curl_nop_stmt
+#endif
+
+/* Portable 'sclose_nolog' used only in child process instead of 'sclose'
+ to avoid fooling the socket leak detector */
+#if defined(HAVE_CLOSESOCKET)
+# define sclose_nolog(x) closesocket((x))
+#elif defined(HAVE_CLOSESOCKET_CAMEL)
+# define sclose_nolog(x) CloseSocket((x))
+#else
+# define sclose_nolog(x) close((x))
#endif
void Curl_ntlm_wb_cleanup(struct connectdata *conn)
@@ -167,7 +177,7 @@ static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp)
*/
/* Don't use sclose in the child since it fools the socket leak detector */
- close(sockfds[0]);
+ sclose_nolog(sockfds[0]);
if(dup2(sockfds[1], STDIN_FILENO) == -1) {
error = ERRNO;
failf(conn->data, "Could not redirect child stdin. errno %d: %s",
@@ -197,7 +207,7 @@ static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp)
NULL);
error = ERRNO;
- close(sockfds[1]);
+ sclose_nolog(sockfds[1]);
failf(conn->data, "Could not execl(). errno %d: %s",
error, Curl_strerror(conn, error));
exit(1);
diff --git a/lib/cyassl.h b/lib/cyassl.h
index a21592a28..56d68066f 100644
--- a/lib/cyassl.h
+++ b/lib/cyassl.h
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
#ifdef USE_CYASSL
@@ -45,7 +46,7 @@ CURLcode Curl_cyassl_connect_nonblocking(struct connectdata *conn,
/* API setup for CyaSSL */
#define curlssl_init Curl_cyassl_init
-#define curlssl_cleanup()
+#define curlssl_cleanup() Curl_nop_stmt
#define curlssl_connect Curl_cyassl_connect
#define curlssl_connect_nonblocking Curl_cyassl_connect_nonblocking
#define curlssl_session_free(x) Curl_cyassl_session_free(x)
diff --git a/lib/ftp.c b/lib/ftp.c
index 18fa8cfcd..a4a7bd1a2 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -104,7 +104,7 @@
#endif
#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define ftp_pasv_verbose(a,b,c,d) do { } while(0)
+#define ftp_pasv_verbose(a,b,c,d) Curl_nop_stmt
#endif
/* Local API functions */
diff --git a/lib/hostip6.c b/lib/hostip6.c
index dae41e97f..8241cb4bc 100644
--- a/lib/hostip6.c
+++ b/lib/hostip6.c
@@ -154,7 +154,7 @@ static void dump_addrinfo(struct connectdata *conn, const Curl_addrinfo *ai)
}
}
#else
-#define dump_addrinfo(x,y)
+#define dump_addrinfo(x,y) Curl_nop_stmt
#endif
/*
diff --git a/lib/http_digest.h b/lib/http_digest.h
index 75fcba929..3b22ce10e 100644
--- a/lib/http_digest.h
+++ b/lib/http_digest.h
@@ -1,5 +1,5 @@
-#ifndef __HTTP_DIGEST_H
-#define __HTTP_DIGEST_H
+#ifndef HEADER_CURL_HTTP_DIGEST_H
+#define HEADER_CURL_HTTP_DIGEST_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
typedef enum {
CURLDIGEST_NONE, /* not a digest */
@@ -50,7 +51,7 @@ CURLcode Curl_output_digest(struct connectdata *conn,
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH)
void Curl_digest_cleanup(struct SessionHandle *data);
#else
-#define Curl_digest_cleanup(x) do {} while(0)
+#define Curl_digest_cleanup(x) Curl_nop_stmt
#endif
-#endif
+#endif /* HEADER_CURL_HTTP_DIGEST_H */
diff --git a/lib/imap.c b/lib/imap.c
index 4f2ee4ee3..9aa9ae98d 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -335,7 +335,7 @@ static void imap_to_imaps(struct connectdata *conn)
conn->handler = &Curl_handler_imaps;
}
#else
-#define imap_to_imaps(x)
+#define imap_to_imaps(x) Curl_nop_stmt
#endif
/* for STARTTLS responses */
diff --git a/lib/krb5.c b/lib/krb5.c
index 3491354db..96938dd6e 100644
--- a/lib/krb5.c
+++ b/lib/krb5.c
@@ -190,7 +190,7 @@ krb5_auth(void *app_data, struct connectdata *conn)
chan.application_data.value = NULL;
/* this loop will execute twice (once for service, once for host) */
- while(1) {
+ for(;;) {
/* this really shouldn't be repeated here, but can't help it */
if(service == srv_host) {
result = Curl_ftpsendf(conn, "AUTH GSSAPI");
diff --git a/lib/ldap.c b/lib/ldap.c
index 0fcbc22e0..11b9beeb7 100644
--- a/lib/ldap.c
+++ b/lib/ldap.c
@@ -105,11 +105,11 @@ static void _ldap_free_urldesc (LDAPURLDesc *ludp);
#define LDAP_TRACE(x) do { \
_ldap_trace ("%u: ", __LINE__); \
_ldap_trace x; \
- } while(0)
+ } WHILE_FALSE
static void _ldap_trace (const char *fmt, ...);
#else
- #define LDAP_TRACE(x) ((void)0)
+ #define LDAP_TRACE(x) Curl_nop_stmt
#endif
diff --git a/lib/memdebug.c b/lib/memdebug.c
index 1a0a485a8..0b81621cb 100644
--- a/lib/memdebug.c
+++ b/lib/memdebug.c
@@ -42,7 +42,7 @@
#include "memdebug.h"
#ifndef HAVE_ASSERT_H
-# define assert(x) do { } while (0)
+# define assert(x) Curl_nop_stmt
#endif
/*
@@ -82,13 +82,13 @@
#ifdef CURL_MT_MALLOC_FILL
# define mt_malloc_fill(buf,len) memset((buf), CURL_MT_MALLOC_FILL, (len))
#else
-# define mt_malloc_fill(buf,len)
+# define mt_malloc_fill(buf,len) Curl_nop_stmt
#endif
#ifdef CURL_MT_FREE_FILL
# define mt_free_fill(buf,len) memset((buf), CURL_MT_FREE_FILL, (len))
#else
-# define mt_free_fill(buf,len)
+# define mt_free_fill(buf,len) Curl_nop_stmt
#endif
struct memdebug {
diff --git a/lib/memdebug.h b/lib/memdebug.h
index a042bb474..6e778b4da 100644
--- a/lib/memdebug.h
+++ b/lib/memdebug.h
@@ -146,7 +146,7 @@ CURL_EXTERN int curl_fclose(FILE *file, int line, const char *source);
*/
#ifndef fake_sclose
-#define fake_sclose(x) do { } WHILE_FALSE
+#define fake_sclose(x) Curl_nop_stmt
#endif
/*
diff --git a/lib/non-ascii.h b/lib/non-ascii.h
index 4e303dff8..6dcbe0044 100644
--- a/lib/non-ascii.h
+++ b/lib/non-ascii.h
@@ -51,9 +51,9 @@ CURLcode Curl_convert_from_utf8(struct SessionHandle *data,
CURLcode Curl_convert_form(struct SessionHandle *data, struct FormData *form);
#else
#define Curl_convert_clone(a,b,c,d) ((void)a, CURLE_OK)
-#define Curl_convert_init(x)
-#define Curl_convert_setup(x)
-#define Curl_convert_close(x)
+#define Curl_convert_init(x) Curl_nop_stmt
+#define Curl_convert_setup(x) Curl_nop_stmt
+#define Curl_convert_close(x) Curl_nop_stmt
#define Curl_convert_to_network(a,b,c) ((void)a, CURLE_OK)
#define Curl_convert_from_network(a,b,c) ((void)a, CURLE_OK)
#define Curl_convert_from_utf8(a,b,c) ((void)a, CURLE_OK)
diff --git a/lib/nss.c b/lib/nss.c
index b853b7a3a..fb52402a9 100644
--- a/lib/nss.c
+++ b/lib/nss.c
@@ -92,7 +92,7 @@ typedef struct {
ptr->type = (_type); \
ptr->pValue = (_val); \
ptr->ulValueLen = (_len); \
-} while(0)
+} WHILE_FALSE
#define CERT_NewTempCertificate __CERT_NewTempCertificate
diff --git a/lib/nssg.h b/lib/nssg.h
index 5f557c8d7..4d7df5efa 100644
--- a/lib/nssg.h
+++ b/lib/nssg.h
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
#ifdef USE_NSS
/*
@@ -56,7 +57,7 @@ CURLcode Curl_nss_force_init(struct SessionHandle *data);
#define curlssl_connect Curl_nss_connect
/* NSS has its own session ID cache */
-#define curlssl_session_free(x)
+#define curlssl_session_free(x) Curl_nop_stmt
#define curlssl_close_all Curl_nss_close_all
#define curlssl_close Curl_nss_close
/* NSS has no shutdown function provided and thus always fail */
diff --git a/lib/polarssl.h b/lib/polarssl.h
index 92234e20e..91f63afbf 100644
--- a/lib/polarssl.h
+++ b/lib/polarssl.h
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
#ifdef USE_POLARSSL
@@ -39,7 +40,7 @@ int Curl_polarssl_shutdown(struct connectdata *conn, int sockindex);
/* API setup for PolarSSL */
#define curlssl_init() (1)
-#define curlssl_cleanup()
+#define curlssl_cleanup() Curl_nop_stmt
#define curlssl_connect Curl_polarssl_connect
#define curlssl_session_free(x) Curl_polarssl_session_free(x)
#define curlssl_close_all Curl_polarssl_close_all
diff --git a/lib/pop3.c b/lib/pop3.c
index 42f6c1dbf..ff71ed663 100644
--- a/lib/pop3.c
+++ b/lib/pop3.c
@@ -280,7 +280,7 @@ static void pop3_to_pop3s(struct connectdata *conn)
conn->handler = &Curl_handler_pop3s;
}
#else
-#define pop3_to_pop3s(x)
+#define pop3_to_pop3s(x) Curl_nop_stmt
#endif
/* for STARTTLS responses */
diff --git a/lib/qssl.h b/lib/qssl.h
index bd195ff7b..a523cb1f3 100644
--- a/lib/qssl.h
+++ b/lib/qssl.h
@@ -1,5 +1,5 @@
-#ifndef __QSSL_H
-#define __QSSL_H
+#ifndef HEADER_CURL_QSSL_H
+#define HEADER_CURL_QSSL_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
/*
* This header should only be needed to get included by sslgen.c and qssl.c
@@ -45,7 +46,7 @@ int Curl_qsossl_check_cxn(struct connectdata * cxn);
#define curlssl_connect Curl_qsossl_connect
/* No session handling for QsoSSL */
-#define curlssl_session_free(x)
+#define curlssl_session_free(x) Curl_nop_stmt
#define curlssl_close_all Curl_qsossl_close_all
#define curlssl_close Curl_qsossl_close
#define curlssl_shutdown(x,y) Curl_qsossl_shutdown(x,y)
@@ -56,4 +57,5 @@ int Curl_qsossl_check_cxn(struct connectdata * cxn);
#define curlssl_check_cxn(x) Curl_qsossl_check_cxn(x)
#define curlssl_data_pending(x,y) 0
#endif /* USE_QSOSSL */
-#endif
+
+#endif /* HEADER_CURL_QSSL_H */
diff --git a/lib/select.c b/lib/select.c
index bd5fa075d..79475d539 100644
--- a/lib/select.c
+++ b/lib/select.c
@@ -49,7 +49,7 @@
/* Winsock and TPF sockets are not in range [0..FD_SETSIZE-1] */
#if defined(USE_WINSOCK) || defined(TPF)
-#define VERIFY_SOCK(x) do { } WHILE_FALSE
+#define VERIFY_SOCK(x) Curl_nop_stmt
#else
#define VALID_SOCK(s) (((s) >= 0) && ((s) < FD_SETSIZE))
#define VERIFY_SOCK(x) do { \
diff --git a/lib/sendf.h b/lib/sendf.h
index 8f0ea24d7..39911d016 100644
--- a/lib/sendf.h
+++ b/lib/sendf.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -32,9 +32,9 @@ void Curl_failf(struct SessionHandle *, const char *fmt, ...);
#if defined(CURL_DISABLE_VERBOSE_STRINGS)
#if defined(HAVE_VARIADIC_MACROS_C99)
-#define infof(...) do { } while (0)
+#define infof(...) Curl_nop_stmt
#elif defined(HAVE_VARIADIC_MACROS_GCC)
-#define infof(x...) do { } while (0)
+#define infof(x...) Curl_nop_stmt
#else
#define infof (void)
#endif
diff --git a/lib/setup.h b/lib/setup.h
index c821bc6b4..69cc6d3d9 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -599,7 +599,7 @@ int netware_init(void);
* Include macros and defines that should only be processed once.
*/
-#ifndef __SETUP_ONCE_H
+#ifndef HEADER_CURL_SETUP_ONCE_H
#include "setup_once.h"
#endif
diff --git a/lib/setup_once.h b/lib/setup_once.h
index 63a3698de..64cfeeaac 100644
--- a/lib/setup_once.h
+++ b/lib/setup_once.h
@@ -1,5 +1,5 @@
-#ifndef __SETUP_ONCE_H
-#define __SETUP_ONCE_H
+#ifndef HEADER_CURL_SETUP_ONCE_H
+#define HEADER_CURL_SETUP_ONCE_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -324,6 +324,13 @@ __pragma(warning(pop))
/*
+ * Definition of our NOP statement Object-like macro
+ */
+
+#define Curl_nop_stmt do { } WHILE_FALSE
+
+
+/*
* Typedef to 'int' if sig_atomic_t is not an available 'typedefed' type.
*/
@@ -360,7 +367,7 @@ typedef int sig_atomic_t;
#ifdef DEBUGBUILD
#define DEBUGF(x) x
#else
-#define DEBUGF(x) do { } WHILE_FALSE
+#define DEBUGF(x) Curl_nop_stmt
#endif
@@ -371,7 +378,7 @@ typedef int sig_atomic_t;
#if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H)
#define DEBUGASSERT(x) assert(x)
#else
-#define DEBUGASSERT(x) do { } WHILE_FALSE
+#define DEBUGASSERT(x) Curl_nop_stmt
#endif
@@ -527,5 +534,4 @@ typedef int sig_atomic_t;
# endif
#endif
-#endif /* __SETUP_ONCE_H */
-
+#endif /* HEADER_CURL_SETUP_ONCE_H */
diff --git a/lib/smtp.c b/lib/smtp.c
index 2df8c0950..bd37619a3 100644
--- a/lib/smtp.c
+++ b/lib/smtp.c
@@ -465,7 +465,7 @@ static void smtp_to_smtps(struct connectdata *conn)
conn->handler = &Curl_handler_smtps;
}
#else
-#define smtp_to_smtps(x)
+#define smtp_to_smtps(x) Curl_nop_stmt
#endif
/* for STARTTLS responses */
diff --git a/lib/splay.h b/lib/splay.h
index 832e4e2bb..49a6dec41 100644
--- a/lib/splay.h
+++ b/lib/splay.h
@@ -1,5 +1,5 @@
-#ifndef __SPLAY_H
-#define __SPLAY_H
+#ifndef HEADER_CURL_SPLAY_H
+#define HEADER_CURL_SPLAY_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1997 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1997 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
struct Curl_tree {
struct Curl_tree *smaller; /* smaller node */
@@ -59,7 +60,7 @@ int Curl_splayremovebyaddr(struct Curl_tree *t,
#ifdef DEBUGBUILD
void Curl_splayprint(struct Curl_tree * t, int d, char output);
#else
-#define Curl_splayprint(x,y,z)
+#define Curl_splayprint(x,y,z) Curl_nop_stmt
#endif
-#endif
+#endif /* HEADER_CURL_SPLAY_H */
diff --git a/lib/ssh.c b/lib/ssh.c
index 3537f54ad..69ff975b6 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -2488,7 +2488,7 @@ static void ssh_block2waitfor(struct connectdata *conn, bool block)
}
#else
/* no libssh2 directional support so we simply don't know */
-#define ssh_block2waitfor(x,y)
+#define ssh_block2waitfor(x,y) Curl_nop_stmt
#endif
/* called repeatedly until done from multi.c */
diff --git a/lib/sslgen.h b/lib/sslgen.h
index b0a0fab12..ec8fe50bb 100644
--- a/lib/sslgen.h
+++ b/lib/sslgen.h
@@ -1,5 +1,5 @@
-#ifndef __SSLGEN_H
-#define __SSLGEN_H
+#ifndef HEADER_CURL_SSLGEN_H
+#define HEADER_CURL_SSLGEN_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
bool Curl_ssl_config_matches(struct ssl_config_data* data,
struct ssl_config_data* needle);
@@ -71,10 +72,10 @@ void Curl_ssl_delsessionid(struct connectdata *conn, void *ssl_sessionid);
#else
/* When SSL support is not present, just define away these function calls */
#define Curl_ssl_init() 1
-#define Curl_ssl_cleanup() do { } while (0)
+#define Curl_ssl_cleanup() Curl_nop_stmt
#define Curl_ssl_connect(x,y) CURLE_NOT_BUILT_IN
-#define Curl_ssl_close_all(x)
-#define Curl_ssl_close(x,y)
+#define Curl_ssl_close_all(x) Curl_nop_stmt
+#define Curl_ssl_close(x,y) Curl_nop_stmt
#define Curl_ssl_shutdown(x,y) CURLE_NOT_BUILT_IN
#define Curl_ssl_set_engine(x,y) CURLE_NOT_BUILT_IN
#define Curl_ssl_set_engine_default(x) CURLE_NOT_BUILT_IN
@@ -85,8 +86,8 @@ void Curl_ssl_delsessionid(struct connectdata *conn, void *ssl_sessionid);
#define Curl_ssl_version(x,y) 0
#define Curl_ssl_data_pending(x,y) 0
#define Curl_ssl_check_cxn(x) 0
-#define Curl_ssl_free_certinfo(x)
+#define Curl_ssl_free_certinfo(x) Curl_nop_stmt
#define Curl_ssl_connect_nonblocking(x,y,z) CURLE_NOT_BUILT_IN
#endif
-#endif /* USE_SSL */
+#endif /* HEADER_CURL_SSLGEN_H */
diff --git a/lib/ssluse.c b/lib/ssluse.c
index 924a37df4..d08401696 100644
--- a/lib/ssluse.c
+++ b/lib/ssluse.c
@@ -120,7 +120,7 @@
/* 0.9.6 didn't have X509_STORE_set_flags() */
#define HAVE_X509_STORE_SET_FLAGS 1
#else
-#define X509_STORE_set_flags(x,y)
+#define X509_STORE_set_flags(x,y) Curl_nop_stmt
#endif
/*
@@ -1407,7 +1407,7 @@ static void ssl_tls_trace(int direction, int ssl_ver, int content_type,
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
# define use_sni(x) sni = (x)
#else
-# define use_sni(x) do { } while (0)
+# define use_sni(x) Curl_nop_stmt
#endif
static CURLcode
@@ -1919,7 +1919,7 @@ do { \
pubkey_show(data, _num, #_type, #_name, (unsigned char*)bufp, len); \
} \
} \
-} while(0)
+} WHILE_FALSE
static int X509V3_ext(struct SessionHandle *data,
int certnum,
diff --git a/lib/telnet.c b/lib/telnet.c
index ebd47ebae..4cefc7e44 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -88,7 +88,7 @@
#define CURL_SB_LEN(x) (x->subend - x->subpointer)
#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define printoption(a,b,c,d) do { } while(0)
+#define printoption(a,b,c,d) Curl_nop_stmt
#endif
#ifdef USE_WINSOCK
diff --git a/lib/url.h b/lib/url.h
index 62e3ef3ef..8947627d5 100644
--- a/lib/url.h
+++ b/lib/url.h
@@ -21,6 +21,7 @@
* KIND, either express or implied.
*
***************************************************************************/
+#include "setup.h"
/*
* Prototypes for library-wide functions provided by url.c
@@ -85,7 +86,7 @@ void Curl_reset_reqproto(struct connectdata *conn);
CURLcode Curl_connected_proxy(struct connectdata *conn);
#ifdef CURL_DISABLE_VERBOSE_STRINGS
-#define Curl_verboseconnect(x) do { } while (0)
+#define Curl_verboseconnect(x) Curl_nop_stmt
#else
void Curl_verboseconnect(struct connectdata *conn);
#endif
diff --git a/src/main.c b/src/main.c
index 86a0c4389..c22b73350 100644
--- a/src/main.c
+++ b/src/main.c
@@ -4646,7 +4646,7 @@ static void memory_tracking_init(void)
}
}
#else
-# define memory_tracking_init()
+# define memory_tracking_init() Curl_nop_stmt
#endif
static int
diff --git a/src/setup.h b/src/setup.h
index d2562a244..58ca0efee 100644
--- a/src/setup.h
+++ b/src/setup.h
@@ -222,7 +222,7 @@ int fileno( FILE *stream);
* Include macros and defines that should only be processed once.
*/
-#ifndef __SETUP_ONCE_H
+#ifndef HEADER_CURL_SETUP_ONCE_H
#include "setup_once.h"
#endif
diff --git a/tests/libtest/first.c b/tests/libtest/first.c
index f35528f71..d6b486003 100644
--- a/tests/libtest/first.c
+++ b/tests/libtest/first.c
@@ -83,7 +83,7 @@ static void memory_tracking_init(void)
}
}
#else
-# define memory_tracking_init()
+# define memory_tracking_init() Curl_nop_stmt
#endif
int main(int argc, char **argv)
diff --git a/tests/libtest/lib500.c b/tests/libtest/lib500.c
index 8ebeb1292..51680fc31 100644
--- a/tests/libtest/lib500.c
+++ b/tests/libtest/lib500.c
@@ -52,7 +52,7 @@ static void setupcallbacks(CURL *curl)
}
#else
-#define setupcallbacks(x)
+#define setupcallbacks(x) Curl_nop_stmt
#endif
diff --git a/tests/server/getpart.c b/tests/server/getpart.c
index 2351e1cc3..9384d0cb0 100644
--- a/tests/server/getpart.c
+++ b/tests/server/getpart.c
@@ -49,7 +49,7 @@ struct SessionHandle {
#ifdef DEBUG_GETPART
#define show(x) printf x
#else
-#define show(x)
+#define show(x) Curl_nop_stmt
#endif
#if defined(_MSC_VER) && defined(_DLL)
diff --git a/tests/unit/curlcheck.h b/tests/unit/curlcheck.h
index 4b4d32c8d..96203e075 100644
--- a/tests/unit/curlcheck.h
+++ b/tests/unit/curlcheck.h
@@ -49,7 +49,7 @@
fprintf(stderr, "%s:%d test failed: '%s'\n", \
__FILE__, __LINE__, msg); \
unitfail++; \
- } while(0)
+ } WHILE_FALSE
/* The abort macros mark the current test step as failed, and exit the test */
@@ -74,7 +74,7 @@
__FILE__, __LINE__, msg); \
unitfail++; \
goto unit_test_abort; \
- } while(0)
+ } WHILE_FALSE