aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2006-10-18 21:05:40 +0000
committerYang Tse <yangsita@gmail.com>2006-10-18 21:05:40 +0000
commit5df4be11657fc49d74e1e6b39c0003f7cf2f3772 (patch)
tree93d2ef65b7accbd9a6572dbfca634dc69e95ffce
parent96445f1b7da2013c294c541530f0160e248b430e (diff)
Check for USE_WINSOCK instead of WIN32 where the check was done
to verify winsock API availability.
-rw-r--r--ares/adig.c4
-rw-r--r--ares/ahost.c4
-rw-r--r--ares/ares_process.c2
-rw-r--r--ares/setup.h2
-rw-r--r--lib/connect.c4
-rw-r--r--lib/easy.c10
-rw-r--r--lib/inet_ntop.c2
-rw-r--r--lib/inet_pton.c2
-rw-r--r--lib/select.c4
-rw-r--r--lib/sendf.c2
-rw-r--r--lib/strerror.c10
-rw-r--r--lib/telnet.c9
-rw-r--r--tests/libtest/first.c2
-rw-r--r--tests/server/sockfilt.c2
-rw-r--r--tests/server/util.c20
-rw-r--r--tests/server/util.h14
16 files changed, 49 insertions, 44 deletions
diff --git a/ares/adig.c b/ares/adig.c
index fb3a43222..a0f622abd 100644
--- a/ares/adig.c
+++ b/ares/adig.c
@@ -153,8 +153,8 @@ int main(int argc, char **argv)
fd_set read_fds, write_fds;
struct timeval *tvp, tv;
-#ifdef WIN32
- WORD wVersionRequested = MAKEWORD(1,1);
+#ifdef USE_WINSOCK
+ WORD wVersionRequested = MAKEWORD(USE_WINSOCK,USE_WINSOCK);
WSADATA wsaData;
WSAStartup(wVersionRequested, &wsaData);
#endif
diff --git a/ares/ahost.c b/ares/ahost.c
index 40cd08439..92eacd76a 100644
--- a/ares/ahost.c
+++ b/ares/ahost.c
@@ -64,8 +64,8 @@ int main(int argc, char **argv)
struct in_addr addr4;
struct in6_addr addr6;
-#ifdef WIN32
- WORD wVersionRequested = MAKEWORD(1,1);
+#ifdef USE_WINSOCK
+ WORD wVersionRequested = MAKEWORD(USE_WINSOCK,USE_WINSOCK);
WSADATA wsaData;
WSAStartup(wVersionRequested, &wsaData);
#endif
diff --git a/ares/ares_process.c b/ares/ares_process.c
index fb98e70b9..f34ae9e5c 100644
--- a/ares/ares_process.c
+++ b/ares/ares_process.c
@@ -59,7 +59,7 @@
#define TRUE 1
#endif
-#if (defined(WIN32) || defined(WATT32)) && !defined(MSDOS)
+#ifdef USE_WINSOCK
#define GET_ERRNO() WSAGetLastError()
#else
#define GET_ERRNO() errno
diff --git a/ares/setup.h b/ares/setup.h
index 3b97e273e..a5899d883 100644
--- a/ares/setup.h
+++ b/ares/setup.h
@@ -121,7 +121,7 @@
* Typedef our socket type
*/
-#if defined(WIN32) && !defined(WATT32)
+#ifdef USE_WINSOCK
typedef SOCKET ares_socket_t;
#define ARES_SOCKET_BAD INVALID_SOCKET
#else
diff --git a/lib/connect.c b/lib/connect.c
index 17dddaf87..1ffb98b37 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -84,7 +84,7 @@
#define FALSE 0
#endif
-#ifdef WIN32
+#ifdef USE_WINSOCK
#define EINPROGRESS WSAEINPROGRESS
#define EWOULDBLOCK WSAEWOULDBLOCK
#define EISCONN WSAEISCONN
@@ -121,7 +121,7 @@ singleipconnect(struct connectdata *conn,
*/
int Curl_sockerrno(void)
{
-#ifdef WIN32
+#ifdef USE_WINSOCK
return (int)WSAGetLastError();
#else
return errno;
diff --git a/lib/easy.c b/lib/easy.c
index a400f84f1..b2e026326 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -106,7 +106,7 @@
/* The last #include file should be: */
#include "memdebug.h"
-#if defined(WIN32) && !defined(__GNUC__) || defined(__MINGW32__)
+#ifdef USE_WINSOCK
/* win32_cleanup() is for win32 socket cleanup functionality, the opposite
of win32_init() */
static void win32_cleanup(void)
@@ -122,12 +122,12 @@ static CURLcode win32_init(void)
WSADATA wsaData;
int err;
-#ifdef ENABLE_IPV6
- wVersionRequested = MAKEWORD(2, 0);
-#else
- wVersionRequested = MAKEWORD(1, 1);
+#if defined(ENABLE_IPV6) && (USE_WINSOCK < 2)
+ Error IPV6_requires_winsock2
#endif
+ wVersionRequested = MAKEWORD(USE_WINSOCK, USE_WINSOCK);
+
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c
index 3bbd9eb14..9381963f5 100644
--- a/lib/inet_ntop.c
+++ b/lib/inet_ntop.c
@@ -55,7 +55,7 @@
#define INADDRSZ 4
#define INT16SZ 2
-#ifdef WIN32
+#ifdef USE_WINSOCK
#define EAFNOSUPPORT WSAEAFNOSUPPORT
#define SET_ERRNO(e) WSASetLastError(errno = (e))
#else
diff --git a/lib/inet_pton.c b/lib/inet_pton.c
index c290330cb..9b9f88b5e 100644
--- a/lib/inet_pton.c
+++ b/lib/inet_pton.c
@@ -44,7 +44,7 @@
#define INADDRSZ 4
#define INT16SZ 2
-#ifdef WIN32
+#ifdef USE_WINSOCK
#define EAFNOSUPPORT WSAEAFNOSUPPORT
#endif
diff --git a/lib/select.c b/lib/select.c
index 7c2f2624f..b25067b6c 100644
--- a/lib/select.c
+++ b/lib/select.c
@@ -50,7 +50,7 @@
#include "connect.h"
#include "select.h"
-#if defined(WIN32) || defined(TPF)
+#if defined(USE_WINSOCK) || defined(TPF)
#define VERIFY_SOCK(x) /* sockets are not in range [0..FD_SETSIZE] */
#else
#define VALID_SOCK(s) (((s) >= 0) && ((s) < FD_SETSIZE))
@@ -224,7 +224,7 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
for (i = 0; i < nfds; i++) {
if (ufds[i].fd == CURL_SOCKET_BAD)
continue;
-#ifndef WIN32 /* This is harmless and wrong on Win32 */
+#ifndef USE_WINSOCK /* winsock sockets are not in range [0..FD_SETSIZE] */
if (ufds[i].fd >= FD_SETSIZE) {
errno = EINVAL;
return -1;
diff --git a/lib/sendf.c b/lib/sendf.c
index c964849d9..e289e2046 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -500,7 +500,7 @@ int Curl_read(struct connectdata *conn, /* connection data */
if(-1 == nread && bytestocopy == 0) {
int err = Curl_sockerrno();
-#ifdef WIN32
+#ifdef USE_WINSOCK
if(WSAEWOULDBLOCK == err)
#else
if((EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err))
diff --git a/lib/strerror.c b/lib/strerror.c
index 5a1a83dd1..62ccfe9a0 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -382,7 +382,7 @@ curl_share_strerror(CURLSHcode error)
#endif
}
-#ifdef WIN32
+#ifdef USE_WINSOCK
/* This function handles most / all (?) Winsock errors cURL is able to produce.
*/
@@ -570,7 +570,7 @@ get_winsock_error (int err, char *buf, size_t len)
buf [len-1] = '\0';
return buf;
}
-#endif /* WIN32 */
+#endif /* USE_WINSOCK */
/*
* Our thread-safe and smart strerror() replacement.
@@ -595,7 +595,7 @@ const char *Curl_strerror(struct connectdata *conn, int err)
max = sizeof(conn->syserr_buf)-1;
*buf = '\0';
-#ifdef WIN32
+#ifdef USE_WINSOCK
#ifdef _WIN32_WCE
buf[0]=0;
@@ -619,7 +619,7 @@ const char *Curl_strerror(struct connectdata *conn, int err)
snprintf(buf, max, "Unknown error %d (%#x)", err, err);
}
#endif
-#else /* not native Windows coming up */
+#else /* not USE_WINSOCK coming up */
/* These should be atomic and hopefully thread-safe */
#ifdef HAVE_STRERROR_R
@@ -647,7 +647,7 @@ const char *Curl_strerror(struct connectdata *conn, int err)
#else /* HAVE_STRERROR_R */
strncpy(buf, strerror(err), max);
#endif /* end of HAVE_STRERROR_R */
-#endif /* end of ! Windows */
+#endif /* end of ! USE_WINSOCK */
buf[max] = '\0'; /* make sure the string is zero terminated */
diff --git a/lib/telnet.c b/lib/telnet.c
index 34cb8db20..3d3961078 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -102,7 +102,7 @@
#define CURL_SB_EOF(x) (x->subpointer >= x->subend)
#define CURL_SB_LEN(x) (x->subend - x->subpointer)
-#ifdef WIN32
+#ifdef USE_WINSOCK
typedef FARPROC WSOCK2_FUNC;
static CURLcode check_wsock2 ( struct SessionHandle *data );
#endif
@@ -171,7 +171,7 @@ struct TELNET {
TelnetReceive telrcv_state;
};
-#ifdef WIN32
+#ifdef USE_WINSOCK
static CURLcode
check_wsock2 ( struct SessionHandle *data )
{
@@ -210,6 +210,7 @@ check_wsock2 ( struct SessionHandle *data )
return CURLE_OK;
}
#endif
+
static
CURLcode init_telnet(struct connectdata *conn)
{
@@ -1090,7 +1091,7 @@ CURLcode Curl_telnet(struct connectdata *conn, bool *done)
CURLcode code;
struct SessionHandle *data = conn->data;
curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
-#ifdef WIN32
+#ifdef USE_WINSOCK
HMODULE wsock2;
WSOCK2_FUNC close_event_func;
WSOCK2_FUNC create_event_func;
@@ -1125,7 +1126,7 @@ CURLcode Curl_telnet(struct connectdata *conn, bool *done)
if(code)
return code;
-#ifdef WIN32
+#ifdef USE_WINSOCK
/*
** This functionality only works with WinSock >= 2.0. So,
** make sure have it.
diff --git a/tests/libtest/first.c b/tests/libtest/first.c
index fda1a7fb5..782daca17 100644
--- a/tests/libtest/first.c
+++ b/tests/libtest/first.c
@@ -12,7 +12,7 @@ int test(char *url);
int select_test (int num_fds, fd_set *rd, fd_set *wr, fd_set *exc,
struct timeval *tv)
{
-#ifdef WIN32
+#ifdef USE_WINSOCK
/* Winsock doesn't like no socket set in 'rd', 'wr' or 'exc'. This is
* case when 'num_fds <= 0. So sleep.
*/
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index bf60a2c64..66c5e4b89 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -238,7 +238,7 @@ static int juggle(curl_socket_t *sockfdp,
do {
rc = select(maxfd + 1, &fds_read, &fds_write, &fds_err, &timeout);
- } while((rc == -1) && (ourerrno() == EINTR));
+ } while((rc == -1) && (our_sockerrno() == EINTR));
switch(rc) {
case -1:
diff --git a/tests/server/util.c b/tests/server/util.c
index 7bf8bdc82..ddc4bc949 100644
--- a/tests/server/util.c
+++ b/tests/server/util.c
@@ -60,13 +60,13 @@ const struct in6_addr in6addr_any = {{ IN6ADDR_ANY_INIT }};
#endif
/*
- * ourerrno() returns the errno (or equivalent) on this platform to
- * hide platform specific for the function that calls this.
+ * our_sockerrno() returns the *socket-related* errno (or equivalent) on this
+ * platform to hide platform specific for the function that calls this.
*/
-int ourerrno(void)
+int our_sockerrno(void)
{
-#ifdef WIN32
- return (int)GetLastError();
+#ifdef USE_WINSOCK
+ return (int)WSAGetLastError();
#else
return errno;
#endif
@@ -115,13 +115,15 @@ void win32_perror (const char *msg)
fprintf(stderr, "%s: ", msg);
fprintf(stderr, "%s\n", buf);
}
+#endif /* WIN32 */
+#ifdef USE_WINSOCK
void win32_init(void)
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
- wVersionRequested = MAKEWORD(2, 0);
+ wVersionRequested = MAKEWORD(USE_WINSOCK, USE_WINSOCK);
err = WSAStartup(wVersionRequested, &wsaData);
@@ -131,8 +133,8 @@ void win32_init(void)
exit(1);
}
- if ( LOBYTE( wsaData.wVersion ) != 2 ||
- HIBYTE( wsaData.wVersion ) != 0 ) {
+ if ( LOBYTE( wsaData.wVersion ) != USE_WINSOCK ||
+ HIBYTE( wsaData.wVersion ) != USE_WINSOCK ) {
WSACleanup();
perror("Winsock init failed");
@@ -145,7 +147,7 @@ void win32_cleanup(void)
{
WSACleanup();
}
-#endif /* WIN32 */
+#endif /* USE_WINSOCK */
/* set by the main code to point to where the test dir is */
const char *path=".";
diff --git a/tests/server/util.h b/tests/server/util.h
index acda12159..17d82f156 100644
--- a/tests/server/util.h
+++ b/tests/server/util.h
@@ -23,7 +23,7 @@
* $Id$
***************************************************************************/
-int ourerrno(void);
+int our_sockerrno(void);
void logmsg(const char *msg, ...);
#ifndef FALSE
@@ -44,19 +44,21 @@ extern const char *path;
#define sleep(sec) Sleep ((sec)*1000)
+#undef perror
+#define perror(m) win32_perror(m)
+void win32_perror (const char *msg);
+#endif /* WIN32 */
+
+#ifdef USE_WINSOCK
#define EINPROGRESS WSAEINPROGRESS
#define EWOULDBLOCK WSAEWOULDBLOCK
#define EISCONN WSAEISCONN
#define ENOTSOCK WSAENOTSOCK
#define ECONNREFUSED WSAECONNREFUSED
-#undef perror
-#define perror(m) win32_perror(m)
-void win32_perror (const char *msg);
-
void win32_init(void);
void win32_cleanup(void);
-#endif /* WIN32 */
+#endif /* USE_WINSOCK */
/* returns the path name to the test case file */
char *test2file(long testno);