ChangeSet ID: 21121 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/11/05 04:43:27
Modified files: dlls/winsock/tests: sock.c dlls/winsock : socket.c
Log message: Saulius Krasuckas saulius.krasuckas@ieee.org - Stricten cases for NT in a two tests. - WSAAddressToString[AW] don't fail on Win9x for those. - Modify it to pass new tests.
Patch: http://cvs.winehq.org/patch.py?id=21121
Old revision New revision Changes Path 1.26 1.27 +10 -4 wine/dlls/winsock/tests/sock.c 1.192 1.193 +2 -1 wine/dlls/winsock/socket.c
Index: wine/dlls/winsock/tests/sock.c diff -u -p wine/dlls/winsock/tests/sock.c:1.26 wine/dlls/winsock/tests/sock.c:1.27 --- wine/dlls/winsock/tests/sock.c:1.26 5 Nov 2005 10:43:27 -0000 +++ wine/dlls/winsock/tests/sock.c 5 Nov 2005 10:43:27 -0000 @@ -1044,6 +1044,7 @@ static void test_WSAAddressToStringA(voi { INT ret; DWORD len; + int GLE; SOCKADDR_IN sockaddr; CHAR address[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */
@@ -1059,8 +1060,10 @@ static void test_WSAAddressToStringA(voi sockaddr.sin_addr.s_addr = 0;
ret = WSAAddressToStringA( (SOCKADDR*)&sockaddr, sizeof(sockaddr), NULL, address, &len ); - ok( ret == SOCKET_ERROR, "WSAAddressToStringA() succeeded! WSAGetLastError()=%x, ret=%d\n", - WSAGetLastError(), ret ); + GLE = WSAGetLastError(); + ok( (ret == SOCKET_ERROR && GLE == WSAEFAULT) || (ret == 0), + "WSAAddressToStringA() failed unexpectedly: WSAGetLastError()=%d, ret=%d\n", + GLE, ret );
len = sizeof(address);
@@ -1111,6 +1114,7 @@ static void test_WSAAddressToStringW(voi { INT ret; DWORD len; + int GLE; SOCKADDR_IN sockaddr; WCHAR address[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */
@@ -1127,8 +1131,10 @@ static void test_WSAAddressToStringW(voi sockaddr.sin_addr.s_addr = 0;
ret = WSAAddressToStringW( (SOCKADDR*)&sockaddr, sizeof(sockaddr), NULL, address, &len ); - ok( ret == SOCKET_ERROR, "WSAAddressToStringW() succeeded! WSAGetLastError()=%x, ret=%d\n", - WSAGetLastError(), ret ); + GLE = WSAGetLastError(); + ok( (ret == SOCKET_ERROR && GLE == WSAEFAULT) || (ret == 0), + "WSAAddressToStringW() failed unexpectedly: WSAGetLastError()=%d, ret=%d\n", + GLE, ret );
len = sizeof(address);
Index: wine/dlls/winsock/socket.c diff -u -p wine/dlls/winsock/socket.c:1.192 wine/dlls/winsock/socket.c:1.193 --- wine/dlls/winsock/socket.c:1.192 5 Nov 2005 10:43:27 -0000 +++ wine/dlls/winsock/socket.c 5 Nov 2005 10:43:27 -0000 @@ -3966,7 +3966,7 @@ INT WINAPI WSAAddressToStringA( LPSOCKAD CHAR buffer[22]; /* 12 digits + 3 dots + ':' + 5 digits + '\0' */ CHAR *p;
- TRACE( "(%p, %lx, %p, %p, %p)\n", sockaddr, len, info, string, lenstr ); + TRACE( "(%p, %ld, %p, %p, %p)\n", sockaddr, len, info, string, lenstr );
if (!sockaddr || len < sizeof(SOCKADDR_IN)) return SOCKET_ERROR; if (!string || !lenstr) return SOCKET_ERROR; @@ -3989,6 +3989,7 @@ INT WINAPI WSAAddressToStringA( LPSOCKAD if (*lenstr < size) { *lenstr = size; + WSASetLastError(WSAEFAULT); return SOCKET_ERROR; }