From 2b403db8111a485468452ad7bfa6fb78145c8f5c Mon Sep 17 00:00:00 2001 From: Gisle Vanem Date: Fri, 19 Nov 2004 13:46:58 +0000 Subject: Winsock sockets are not in range 0..FD_SETSIZE. Shouldn't Curl_select() use curl_socket_t ? --- lib/select.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/select.c b/lib/select.c index fb337d421..0b5af2614 100644 --- a/lib/select.c +++ b/lib/select.c @@ -33,6 +33,12 @@ #include "select.h" +#ifdef WIN32 +#define VALID_SOCK(s) (1) /* Win-sockets are not in range [0..FD_SETSIZE> */ +#else +#define VALID_SOCK(s) ((s) >= 0) && ((s) < FD_SETSIZE)) +#endif + /* * This is an internal function used for waiting for read or write * events on single file descriptors. It attempts to replace select() @@ -104,7 +110,7 @@ int Curl_select(int readfd, int writefd, int timeout_ms) FD_ZERO(&fds_read); if (readfd != CURL_SOCKET_BAD) { - if ((readfd < 0) || (readfd >= FD_SETSIZE)) { + if (!VALID_SOCK(readfd)) { errno = EINVAL; return -1; } @@ -115,7 +121,7 @@ int Curl_select(int readfd, int writefd, int timeout_ms) FD_ZERO(&fds_write); if (writefd != CURL_SOCKET_BAD) { - if ((writefd < 0) || (writefd >= FD_SETSIZE)) { + if (!VALID_SOCK(writefd)) { errno = EINVAL; return -1; } -- cgit v1.2.3