summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2010-01-22 20:27:48 +0000
committerYang Tse <yangsita@gmail.com>2010-01-22 20:27:48 +0000
commit143586403055b977bfe17b06042ebc3beb5d4d82 (patch)
tree83b2cc9c957dbf1ffd7d5ffe5e3207dee905e523
parent4a8a73147610ec6522afe5d847761d95b54aca16 (diff)
downloadcurl-143586403055b977bfe17b06042ebc3beb5d4d82.tar.gz
Definitions of resolver specialty compile-time defines CURLRES_* moved
from hostip.h to setup.h in order to allow proper inclusion in any file. This represents no functional change at all in which resolver is used, everything still works as usual, internally and externally there is no difference in behavior.
-rw-r--r--lib/hostip.h27
-rw-r--r--lib/setup.h62
-rw-r--r--lib/url.c3
-rw-r--r--lib/urldata.h6
4 files changed, 52 insertions, 46 deletions
diff --git a/lib/hostip.h b/lib/hostip.h
index e987f301e..85425b6ce 100644
--- a/lib/hostip.h
+++ b/lib/hostip.h
@@ -37,38 +37,13 @@
#endif
/*
- * Setup comfortable CURLRES_* defines to use in the host*.c sources.
+ * Comfortable CURLRES_* definitions are included from setup.h
*/
#ifdef USE_ARES
#include <ares_version.h>
#endif
-#ifdef USE_ARES
-#define CURLRES_ASYNCH
-#define CURLRES_ARES
-#endif
-
-#ifdef USE_THREADING_GETHOSTBYNAME
-#define CURLRES_ASYNCH
-#define CURLRES_THREADED
-#endif
-
-#ifdef USE_THREADING_GETADDRINFO
-#define CURLRES_ASYNCH
-#define CURLRES_THREADED
-#endif
-
-#ifdef ENABLE_IPV6
-#define CURLRES_IPV6
-#else
-#define CURLRES_IPV4
-#endif
-
-#ifndef CURLRES_ASYNCH
-#define CURLRES_SYNCH
-#endif
-
/* Allocate enough memory to hold the full name information structs and
* everything. OSF1 is known to require at least 8872 bytes. The buffer
* required for storing all possible aliases and IP numbers is according to
diff --git a/lib/setup.h b/lib/setup.h
index a8549a7d8..980a91699 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -407,6 +407,27 @@
#endif /* WIN32 */
+/*
+ * msvc 6.0 requires PSDK in order to have INET6_ADDRSTRLEN
+ * defined in ws2tcpip.h as well as to provide IPv6 support.
+ */
+
+#if defined(_MSC_VER) && !defined(__POCC__)
+# if !defined(HAVE_WS2TCPIP_H) || \
+ ((_MSC_VER < 1300) && !defined(INET6_ADDRSTRLEN))
+# undef HAVE_GETADDRINFO_THREADSAFE
+# undef HAVE_FREEADDRINFO
+# undef HAVE_GETADDRINFO
+# undef HAVE_GETNAMEINFO
+# undef ENABLE_IPV6
+# endif
+#endif
+
+/* ---------------------------------------------------------------- */
+/* resolver specialty compile-time defines */
+/* CURLRES_* defines to use in the host*.c sources */
+/* ---------------------------------------------------------------- */
+
#if defined(WIN32) && !defined(__CYGWIN__) && !defined(USE_ARES) && \
!defined(__LCC__) /* lcc-win32 doesn't have _beginthreadex() */
#ifdef ENABLE_IPV6
@@ -424,6 +445,33 @@
#define CURL_NO__BEGINTHREADEX
#endif
+#ifdef USE_ARES
+# define CURLRES_ASYNCH
+# define CURLRES_ARES
+#endif
+
+#ifdef USE_THREADING_GETHOSTBYNAME
+# define CURLRES_ASYNCH
+# define CURLRES_THREADED
+#endif
+
+#ifdef USE_THREADING_GETADDRINFO
+# define CURLRES_ASYNCH
+# define CURLRES_THREADED
+#endif
+
+#ifdef ENABLE_IPV6
+# define CURLRES_IPV6
+#else
+# define CURLRES_IPV4
+#endif
+
+#ifndef CURLRES_ASYNCH
+# define CURLRES_SYNCH
+#endif
+
+/* ---------------------------------------------------------------- */
+
/*
* When using WINSOCK, TELNET protocol requires WINSOCK2 API.
*/
@@ -445,20 +493,6 @@
#endif
/*
- * msvc 6.0 requires PSDK in order to have INET6_ADDRSTRLEN
- * defined in ws2tcpip.h as well as to provide IPv6 support.
- */
-
-#if defined(_MSC_VER) && !defined(__POCC__)
-# if !defined(HAVE_WS2TCPIP_H) || ((_MSC_VER < 1300) && !defined(INET6_ADDRSTRLEN))
-# undef HAVE_FREEADDRINFO
-# undef HAVE_GETADDRINFO
-# undef HAVE_GETNAMEINFO
-# undef ENABLE_IPV6
-# endif
-#endif
-
-/*
* Intentionally fail to build when using msvc 6.0 without PSDK installed.
* The brave of heart can circumvent this, defining ALLOW_MSVC6_WITHOUT_PSDK
* in lib/config-win32.h although absolutely discouraged and unsupported.
diff --git a/lib/url.c b/lib/url.c
index f3ac14d5c..927e16887 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -5044,8 +5044,7 @@ CURLcode Curl_connect(struct SessionHandle *data,
CURLcode Curl_async_resolved(struct connectdata *conn,
bool *protocol_done)
{
-#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME) || \
- defined(USE_THREADING_GETADDRINFO)
+#ifdef CURLRES_ASYNCH
CURLcode code;
if(conn->async.dns) {
diff --git a/lib/urldata.h b/lib/urldata.h
index 8e3f612ce..f02bfc43d 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -436,8 +436,7 @@ typedef enum {
} zlibInitState;
#endif
-#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME) || \
- defined(USE_THREADING_GETADDRINFO)
+#ifdef CURLRES_ASYNCH
struct Curl_async {
char *hostname;
int port;
@@ -813,8 +812,7 @@ struct connectdata {
char syserr_buf [256]; /* buffer for Curl_strerror() */
-#if defined(USE_ARES) || defined(USE_THREADING_GETHOSTBYNAME) || \
- defined(USE_THREADING_GETADDRINFO)
+#ifdef CURLRES_ASYNCH
/* data used for the asynch name resolve callback */
struct Curl_async async;
#endif