ws2_32: Add the port to the IPv6 address string if present.
This commit is contained in:
parent
4814d67ed5
commit
4028a0e9f0
|
@ -4958,12 +4958,17 @@ INT WINAPI WSAAddressToStringA( LPSOCKADDR sockaddr, DWORD len,
|
|||
{
|
||||
struct WS_sockaddr_in6 *sockaddr6 = (LPSOCKADDR_IN6) sockaddr;
|
||||
|
||||
buffer[0] = 0;
|
||||
if (len < sizeof(SOCKADDR_IN6)) return SOCKET_ERROR;
|
||||
if (!WS_inet_ntop(WS_AF_INET6, &sockaddr6->sin6_addr, buffer, sizeof(buffer)))
|
||||
if ((sockaddr6->sin6_port))
|
||||
strcpy(buffer, "[");
|
||||
if (!WS_inet_ntop(WS_AF_INET6, &sockaddr6->sin6_addr, buffer+strlen(buffer), sizeof(buffer)))
|
||||
{
|
||||
WSASetLastError(WSAEINVAL);
|
||||
return SOCKET_ERROR;
|
||||
}
|
||||
if ((sockaddr6->sin6_port))
|
||||
sprintf(buffer+strlen(buffer), "]:%u", ntohs(sockaddr6->sin6_port));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1429,11 +1429,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 ), "Expected: %s, got: %s\n", expect6_3, address6 );
|
||||
ok( len == sizeof(expect6_3), "Got size %d\n", len);
|
||||
}
|
||||
|
||||
/* Test IPv6 address, port number and scope_id */
|
||||
len = sizeof(address6);
|
||||
|
@ -1603,11 +1600,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 ), "Wrong string returned\n" );
|
||||
ok( len == sizeof(expect6_3)/sizeof(WCHAR), "Got %d\n", len);
|
||||
}
|
||||
|
||||
/* Test IPv6 address, port number and scope_id */
|
||||
len = sizeof(address6)/sizeof(WCHAR);
|
||||
|
|
Loading…
Reference in New Issue