Make 4 WSAStringToAddress* tests don't fail on Win9x.
diff --git a/dlls/winsock/tests/sock.c b/dlls/winsock/tests/sock.c
index 09d6dde..6a13a18 100644
--- a/dlls/winsock/tests/sock.c
+++ b/dlls/winsock/tests/sock.c
@@ -1179,6 +1179,7 @@
{
INT ret, len;
SOCKADDR_IN sockaddr;
+ int GLE;
CHAR address1[] = "0.0.0.0";
CHAR address2[] = "127.127.127.127";
@@ -1214,8 +1215,10 @@
sockaddr.sin_addr.s_addr = 0;
ret = WSAStringToAddressA( address3, AF_INET, NULL, (SOCKADDR*)&sockaddr, &len );
- ok( !ret && sockaddr.sin_addr.s_addr == 0xffffffff,
- "WSAStringToAddressA() failed unexpectedly: %d\n", WSAGetLastError() );
+ GLE = WSAGetLastError();
+ ok( (ret == 0 && sockaddr.sin_addr.s_addr == 0xffffffff) ||
+ (ret == SOCKET_ERROR && GLE == ERROR_INVALID_PARAMETER),
+ "WSAStringToAddressA() failed unexpectedly: %d\n", GLE );
len = sizeof(sockaddr);
sockaddr.sin_port = 0;
@@ -1230,14 +1233,17 @@
sockaddr.sin_addr.s_addr = 0;
ret = WSAStringToAddressA( address5, AF_INET, NULL, (SOCKADDR*)&sockaddr, &len );
- ok( !ret && sockaddr.sin_addr.s_addr == 0xffffffff && sockaddr.sin_port == 0xffff,
- "WSAStringToAddressA() failed unexpectedly: %d\n", WSAGetLastError() );
+ GLE = WSAGetLastError();
+ ok( (ret == 0 && sockaddr.sin_addr.s_addr == 0xffffffff && sockaddr.sin_port == 0xffff) ||
+ (ret == SOCKET_ERROR && GLE == ERROR_INVALID_PARAMETER),
+ "WSAStringToAddressA() failed unexpectedly: %d\n", GLE );
}
static void test_WSAStringToAddressW(void)
{
INT ret, len;
SOCKADDR_IN sockaddr;
+ int GLE;
WCHAR address1[] = { '0','.','0','.','0','.','0', 0 };
WCHAR address2[] = { '1','2','7','.','1','2','7','.','1','2','7','.','1','2','7', 0 };
@@ -1275,8 +1281,10 @@
sockaddr.sin_addr.s_addr = 0;
ret = WSAStringToAddressW( address3, AF_INET, NULL, (SOCKADDR*)&sockaddr, &len );
- ok( !ret && sockaddr.sin_addr.s_addr == 0xffffffff,
- "WSAStringToAddressW() failed unexpectedly: %d\n", WSAGetLastError() );
+ GLE = WSAGetLastError();
+ ok( (ret == 0 && sockaddr.sin_addr.s_addr == 0xffffffff) ||
+ (ret == SOCKET_ERROR && GLE == ERROR_INVALID_PARAMETER),
+ "WSAStringToAddressW() failed unexpectedly: %d\n", GLE );
len = sizeof(sockaddr);
sockaddr.sin_port = 0;
@@ -1291,8 +1299,9 @@
sockaddr.sin_addr.s_addr = 0;
ret = WSAStringToAddressW( address5, AF_INET, NULL, (SOCKADDR*)&sockaddr, &len );
- ok( !ret && sockaddr.sin_addr.s_addr == 0xffffffff && sockaddr.sin_port == 0xffff,
- "WSAStringToAddressW() failed unexpectedly: %d\n", WSAGetLastError() );
+ ok( (ret == 0 && sockaddr.sin_addr.s_addr == 0xffffffff && sockaddr.sin_port == 0xffff) ||
+ (ret == SOCKET_ERROR && (GLE == ERROR_INVALID_PARAMETER || GLE == WSAEINVAL)),
+ "WSAStringToAddressW() failed unexpectedly: %d\n", GLE );
}
/**************** Main program ***************/