Hans Leidekker : winsock: Fix two Windows to Unix mapping issues.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Feb 27 09:33:07 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 4a8961ce3dc3321fbdea0bcd3fa8423586df552d
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=4a8961ce3dc3321fbdea0bcd3fa8423586df552d
Author: Hans Leidekker <hans at it.vu.nl>
Date: Sat Feb 25 20:31:32 2006 +0100
winsock: Fix two Windows to Unix mapping issues.
Handle wildcard address family hint in getaddrinfo.
Convert flags too in getnameinfo.
---
dlls/winsock/socket.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/winsock/socket.c b/dlls/winsock/socket.c
index 8ca3a3e..11672bc 100644
--- a/dlls/winsock/socket.c
+++ b/dlls/winsock/socket.c
@@ -3146,7 +3146,10 @@ 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);
+ if (hints->ai_family == 0) /* wildcard, specific to getaddrinfo() */
+ punixhints->ai_family = 0;
+ else
+ punixhints->ai_family = convert_af_w2u(hints->ai_family);
if (hints->ai_socktype == 0) /* wildcard, specific to getaddrinfo() */
punixhints->ai_socktype = 0;
else
@@ -3252,7 +3255,7 @@ int WINAPI WS_getnameinfo(const SOCKADDR
WSASetLastError(WSAEFAULT);
return WSA_NOT_ENOUGH_MEMORY;
}
- ret = getnameinfo(sa_u, size, host, hostlen, serv, servlen, flags);
+ ret = getnameinfo(sa_u, size, host, hostlen, serv, servlen, convert_aiflag_w2u(flags));
ws_sockaddr_free(sa_u, sa);
return convert_eai_u2w(ret);
More information about the wine-cvs
mailing list