Module: wine Branch: master Commit: f40cbb3d77fc062b6cc3254e351c42d6ceaf19e1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f40cbb3d77fc062b6cc3254e35...
Author: Jeff Latimer lats@yless4u.com.au Date: Tue Jul 28 19:40:39 2009 +1000
ws2_32: Add the scope_id to the IPv6 address string if present.
---
dlls/ws2_32/socket.c | 2 ++ dlls/ws2_32/tests/sock.c | 12 ------------ 2 files changed, 2 insertions(+), 12 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index b4df86f..837aad6 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -4967,6 +4967,8 @@ INT WINAPI WSAAddressToStringA( LPSOCKADDR sockaddr, DWORD len, WSASetLastError(WSAEINVAL); return SOCKET_ERROR; } + if ((sockaddr6->sin6_scope_id)) + sprintf(buffer+strlen(buffer), "%%%u", sockaddr6->sin6_scope_id); if ((sockaddr6->sin6_port)) sprintf(buffer+strlen(buffer), "]:%u", ntohs(sockaddr6->sin6_port)); break; diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 44ed183..5db5bfe 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -1442,11 +1442,8 @@ static void test_WSAAddressToStringA(void)
ret = WSAAddressToStringA( (SOCKADDR*)&sockaddr6, sizeof(sockaddr6), NULL, address6, &len ); ok( !ret, "WSAAddressToStringA() failed unexpectedly: %d\n", WSAGetLastError() ); - todo_wine - { ok( !strcmp( address6, expect6_3_2 ), "Expected: %s, got: %s\n", expect6_3_2, address6 ); ok( len == sizeof(expect6_3_2), "Got size %d\n", len); - }
/* Test IPv6 address and scope_id */ len = sizeof(address6); @@ -1458,11 +1455,8 @@ static void test_WSAAddressToStringA(void)
ret = WSAAddressToStringA( (SOCKADDR*)&sockaddr6, sizeof(sockaddr6), NULL, address6, &len ); ok( !ret, "WSAAddressToStringA() failed unexpectedly: %d\n", WSAGetLastError() ); - todo_wine - { ok( !strcmp( address6, expect6_3_3 ), "Expected: %s, got: %s\n", expect6_3_3, address6 ); ok( len == sizeof(expect6_3_3), "Got size %d\n", len); - }
end: if (v6 != INVALID_SOCKET) @@ -1613,11 +1607,8 @@ static void test_WSAAddressToStringW(void)
ret = WSAAddressToStringW( (SOCKADDR*)&sockaddr6, sizeof(sockaddr6), NULL, address6, &len ); ok( !ret, "WSAAddressToStringW() failed unexpectedly: %d\n", WSAGetLastError() ); - todo_wine - { ok( !lstrcmpW( address6, expect6_3_2 ), "Wrong string returned\n" ); ok( len == sizeof(expect6_3_2)/sizeof(WCHAR), "Got %d\n", len); - }
/* Test IPv6 address and scope_id */ len = sizeof(address6)/sizeof(WCHAR); @@ -1629,11 +1620,8 @@ static void test_WSAAddressToStringW(void)
ret = WSAAddressToStringW( (SOCKADDR*)&sockaddr6, sizeof(sockaddr6), NULL, address6, &len ); ok( !ret, "WSAAddressToStringW() failed unexpectedly: %d\n", WSAGetLastError() ); - todo_wine - { ok( !lstrcmpW( address6, expect6_3_3 ), "Wrong string returned\n" ); ok( len == sizeof(expect6_3_3)/sizeof(WCHAR), "Got %d\n", len); - }
end: if (v6 != INVALID_SOCKET)