Jeff Latimer : ws2_32: Add the scope_id to the IPv6 address string if present.

Alexandre Julliard julliard at winehq.org
Wed Aug 5 09:48:41 CDT 2009


Module: wine
Branch: master
Commit: f40cbb3d77fc062b6cc3254e351c42d6ceaf19e1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f40cbb3d77fc062b6cc3254e351c42d6ceaf19e1

Author: Jeff Latimer <lats at 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)




More information about the wine-cvs mailing list