wine/dlls/winsock tests/sock.c socket.c

Alexandre Julliard julliard at wine.codeweavers.com
Sat Nov 5 04:43:27 CST 2005


ChangeSet ID:	21121
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at 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 at 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;
     }
 



More information about the wine-cvs mailing list