Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-04-24 17:44:23 +0400
committerCorinna Vinschen <corinna@vinschen.de>2014-04-24 17:44:23 +0400
commit8e220283396b4720c181695bf4046ad26e84a712 (patch)
treea46468f6b3c796f273bf10f32e87396bb09ffda7 /winsup/cygwin/net.cc
parentef7e42ec0f684183172dc3c71b9b27a6f5cae696 (diff)
* fhandler_socket.cc: On x86_64, define u_long as __ms_u_long before
including the windows headers. Explain why. (get_inet_addr): Convert ANY address to LOOPBACK address. Explain why. (fhandler_socket::evaluate_events): Forcibly set SO_ERROR socket option in case a connection attempt failed. Explain why. (fhandler_socket::ioctl): Drop x86_64 re-definition of u_long here. * fhandler_procnet.cc: On x86_64, define u_long as __ms_u_long before including the windows headers. Explain why. * net.cc: Ditto.
Diffstat (limited to 'winsup/cygwin/net.cc')
-rw-r--r--winsup/cygwin/net.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index 0e7776029..5ccfc96fd 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -20,6 +20,15 @@ details. */
system functions on Vista and later. */
#define _INC_NETIOAPI
#include "winsup.h"
+#ifdef __x86_64__
+/* 2014-04-24: Current Mingw headers define sockaddr_in6 using u_long (8 byte)
+ because a redefinition for LP64 systems is missing. This leads to a wrong
+ definition and size of sockaddr_in6 when building with winsock headers.
+ This definition is also required to use the right u_long type in subsequent
+ function calls. */
+#undef u_long
+#define u_long __ms_u_long
+#endif
#include <ws2tcpip.h>
#include <mswsock.h>
#include <iphlpapi.h>