Marcus Meissner : winsock: Map wildcards for socket type and protocol in getaddrinfo().

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jan 4 08:42:10 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 5ddf98affead140b32c9f739d38f5a28a12ef2d9
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=5ddf98affead140b32c9f739d38f5a28a12ef2d9

Author: Marcus Meissner <marcus at jet.franken.de>
Date:   Wed Jan  4 15:07:34 2006 +0100

winsock: Map wildcards for socket type and protocol in getaddrinfo().

---

 dlls/winsock/socket.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c
index e47b182..6df1c4d 100644
--- a/dlls/winsock/socket.c
+++ b/dlls/winsock/socket.c
@@ -3161,8 +3161,14 @@ int WINAPI WS_getaddrinfo(LPCSTR nodenam
         memset(&unixhints, 0, sizeof(unixhints));
         punixhints->ai_flags    = convert_aiflag_w2u(hints->ai_flags);
         punixhints->ai_family   = convert_af_w2u(hints->ai_family);
-        punixhints->ai_socktype = convert_socktype_w2u(hints->ai_socktype);
-        punixhints->ai_protocol = convert_proto_w2u(hints->ai_protocol);
+        if (hints->ai_socktype == 0) /* wildcard, specific to getaddrinfo() */
+            punixhints->ai_socktype = 0;
+        else
+            punixhints->ai_socktype = convert_socktype_w2u(hints->ai_socktype);
+        if (hints->ai_protocol == 0) /* wildcard, specific to getaddrinfo() */
+            punixhints->ai_protocol = 0;
+        else
+            punixhints->ai_protocol = convert_proto_w2u(hints->ai_protocol);
     }
 
     /* getaddrinfo(3) is thread safe, no need to wrap in CS */




More information about the wine-cvs mailing list