Zebediah Figura : ws2_32: Return WSAEOPNOTSUPP in FIOASYNC.

Alexandre Julliard julliard at winehq.org
Wed Jun 9 16:43:05 CDT 2021


Module: wine
Branch: master
Commit: 0a4a7c434500ccba883a05ca062550e41384ce7a
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0a4a7c434500ccba883a05ca062550e41384ce7a

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Wed Jun  9 00:04:49 2021 -0500

ws2_32: Return WSAEOPNOTSUPP in FIOASYNC.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ws2_32/socket.c     |  5 -----
 dlls/ws2_32/tests/sock.c | 45 ++++++++++++++++-----------------------------
 2 files changed, 16 insertions(+), 34 deletions(-)

diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 08ea427913b..a4d0e932eae 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -3276,11 +3276,6 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID
         return ret ? -1 : 0;
     }
 
-    case WS_FIOASYNC:
-        WARN("Warning: WS1.1 shouldn't be using async I/O\n");
-        SetLastError(WSAEINVAL);
-        return SOCKET_ERROR;
-
     case WS_SIO_GET_INTERFACE_LIST:
     {
         DWORD ret;
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index c654e442364..d9cb629caa4 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -4136,35 +4136,27 @@ static void test_unsupported_ioctls(void)
         size = 0xdeadbeef;
         ret = WSAIoctl(s, codes[i], NULL, 0, NULL, 0, &size, NULL, NULL);
         ok(ret == -1, "expected failure\n");
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(WSAGetLastError() == WSAEOPNOTSUPP, "got error %u\n", WSAGetLastError());
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(!size, "got size %u\n", size);
+        ok(WSAGetLastError() == WSAEOPNOTSUPP, "got error %u\n", WSAGetLastError());
+        ok(!size, "got size %u\n", size);
 
         WSASetLastError(0xdeadbeef);
         size = 0xdeadbeef;
         overlapped.Internal = 0xdeadbeef;
         overlapped.InternalHigh = 0xdeadbeef;
         ret = WSAIoctl(s, codes[i], NULL, 0, NULL, 0, &size, &overlapped, NULL);
-            ok(ret == -1, "expected failure\n");
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(WSAGetLastError() == ERROR_IO_PENDING, "got error %u\n", WSAGetLastError());
+        ok(ret == -1, "expected failure\n");
+        ok(WSAGetLastError() == ERROR_IO_PENDING, "got error %u\n", WSAGetLastError());
         ok(size == 0xdeadbeef, "got size %u\n", size);
 
         ret = GetQueuedCompletionStatus(port, &size, &key, &overlapped_ptr, 0);
         ok(!ret, "expected failure\n");
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(GetLastError() == ERROR_NOT_SUPPORTED, "got error %u\n", GetLastError());
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(!size, "got size %u\n", size);
+        ok(GetLastError() == ERROR_NOT_SUPPORTED, "got error %u\n", GetLastError());
+        ok(!size, "got size %u\n", size);
         ok(key == 123, "got key %Iu\n", key);
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(overlapped_ptr == &overlapped, "got overlapped %p\n", overlapped_ptr);
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok((NTSTATUS)overlapped.Internal == STATUS_NOT_SUPPORTED,
-                    "got status %#x\n", (NTSTATUS)overlapped.Internal);
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(!overlapped.InternalHigh, "got size %Iu\n", overlapped.InternalHigh);
+        ok(overlapped_ptr == &overlapped, "got overlapped %p\n", overlapped_ptr);
+        ok((NTSTATUS)overlapped.Internal == STATUS_NOT_SUPPORTED,
+                "got status %#x\n", (NTSTATUS)overlapped.Internal);
+        ok(!overlapped.InternalHigh, "got size %Iu\n", overlapped.InternalHigh);
 
         CloseHandle(port);
         closesocket(s);
@@ -4179,20 +4171,15 @@ static void test_unsupported_ioctls(void)
         size = 0xdeadbeef;
         ret = WSAIoctl(s, codes[i], NULL, 0, NULL, 0, &size, &overlapped, socket_apc);
         ok(ret == -1, "expected failure\n");
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(WSAGetLastError() == ERROR_IO_PENDING, "got error %u\n", WSAGetLastError());
+        ok(WSAGetLastError() == ERROR_IO_PENDING, "got error %u\n", WSAGetLastError());
         ok(size == 0xdeadbeef, "got size %u\n", size);
 
         ret = SleepEx(0, TRUE);
-        todo_wine_if (codes[i] == FIOASYNC)
-            ok(ret == WAIT_IO_COMPLETION, "got %d\n", ret);
-        if (ret == WAIT_IO_COMPLETION)
-        {
-            ok(apc_count == 1, "APC was called %u times\n", apc_count);
-            ok(apc_error == WSAEOPNOTSUPP, "got APC error %u\n", apc_error);
-            ok(!apc_size, "got APC size %u\n", apc_size);
-            ok(apc_overlapped == &overlapped, "got APC overlapped %p\n", apc_overlapped);
-        }
+        ok(ret == WAIT_IO_COMPLETION, "got %d\n", ret);
+        ok(apc_count == 1, "APC was called %u times\n", apc_count);
+        ok(apc_error == WSAEOPNOTSUPP, "got APC error %u\n", apc_error);
+        ok(!apc_size, "got APC size %u\n", apc_size);
+        ok(apc_overlapped == &overlapped, "got APC overlapped %p\n", apc_overlapped);
 
         closesocket(s);
         winetest_pop_context();




More information about the wine-cvs mailing list