winhttp(4/5): Support IPv6 addresses in open_connection

Juan Lang juan.lang at gmail.com
Wed Jul 8 12:44:26 CDT 2009


--Juan
-------------- next part --------------
From c3561069651021da71f5519d758415f5dfd0df8e Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Wed, 8 Jul 2009 10:40:04 -0700
Subject: [PATCH 4/5] Support IPv6 addresses in open_connection

---
 dlls/winhttp/request.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index d9147d3..af1d5ad 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -710,11 +710,15 @@ BOOL WINAPI WinHttpQueryHeaders( HINTERNET hrequest, DWORD level, LPCWSTR name,
     return ret;
 }
 
+#ifndef INET6_ADDRSTRLEN
+#define INET6_ADDRSTRLEN 46
+#endif
+
 static BOOL open_connection( request_t *request )
 {
     connect_t *connect;
     const void *addr;
-    char address[32];
+    char address[INET6_ADDRSTRLEN];
     WCHAR *addressW;
     INTERNET_PORT port;
     socklen_t slen;
@@ -733,6 +737,9 @@ static BOOL open_connection( request_t *request )
     case AF_INET:
         addr = &((struct sockaddr_in *)&connect->sockaddr)->sin_addr;
         break;
+    case AF_INET6:
+        addr = &((struct sockaddr_in6 *)&connect->sockaddr)->sin6_addr;
+        break;
     default:
         WARN("unsupported address family %d\n", connect->sockaddr.ss_family);
         return FALSE;
-- 
1.6.3.2


More information about the wine-patches mailing list