From d789097af0e1f9801ad3eaca5ff6445ce888859f Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Thu, 22 Nov 2007 16:35:07 +0000 Subject: [PATCH] Provide a socklen_t definition in curl.h for Win32 API build targets which don't have one. --- CHANGES | 4 ++++ RELEASE-NOTES | 1 + include/curl/curl.h | 17 +++++++++++++++++ 3 files changed, 22 insertions(+) diff --git a/CHANGES b/CHANGES index 1dbf53215..3882b3532 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,10 @@ Changelog +Yang Tse (22 Nov 2007) +- Provide a socklen_t definition in curl.h for Win32 API build targets + which don't have one. + Daniel S (22 Nov 2007) - Alessandro Vesely helped me improve the --data-urlencode's syntax, parser and documentation. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index eb85cd7c4..3ba305f8f 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -26,6 +26,7 @@ This release includes the following bugfixes: o SSL connections with NSS done with the multi-interface o setting a share no longer activates cookies o Negotiate now works on auth and proxy simultanouesly + o curl.h now includes a socklen_t definition for Win32 API build targets This release includes the following known bugs: diff --git a/include/curl/curl.h b/include/curl/curl.h index 79ea49752..83028928a 100644 --- a/include/curl/curl.h +++ b/include/curl/curl.h @@ -85,6 +85,23 @@ extern "C" { typedef void CURL; +/* + * Windows build targets have socklen_t definition in + * ws2tcpip.h but some versions of ws2tcpip.h do not + * have the definition. It seems that when the socklen_t + * definition is missing from ws2tcpip.h the definition + * for INET_ADDRSTRLEN is also missing, and that when one + * definition is present the other one also is available. + */ + +#if defined(WIN32) && !defined(HAVE_SOCKLEN_T) +# if ( defined(_MSC_VER) && !defined(INET_ADDRSTRLEN) ) || \ + (!defined(_MSC_VER) && !defined(_WS2TCPIP_H_) && !defined(_WS2TCPIP_H) ) +# define socklen_t int +# define HAVE_SOCKLEN_T +# endif +#endif + /* * Decorate exportable functions for Win32 DLL linking. * This avoids using a .def file for building libcurl.dll.