"Erich E. Hoover" erich.e.hoover@gmail.com writes:
@@ -4101,11 +4125,29 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID WSASetLastError(WSAEOPNOTSUPP); return SOCKET_ERROR; default:
}FIXME("unsupported WS_IOCTL cmd (%s)\n", debugstr_wsaioctl(code)); status = WSAEOPNOTSUPP; break;
- if (status == WSAEOPNOTSUPP)
- {
status = server_ioctl_sock(s, code, in_buff, in_size, out_buff, out_size, ret_size,
overlapped, completion);
if (status != WSAEOPNOTSUPP)
{
if (status == 0 || status == WSA_IO_PENDING)
TRACE("-> %s request\n", debugstr_wsaioctl(code));
else
ERR("-> %s request failed with status 0x%x\n", debugstr_wsaioctl(code), status);
/* overlapped and completion operations will be handled by the server */
completion = NULL;
overlapped = NULL;
}
else
FIXME("unsupported WS_IOCTL cmd (%s)\n", debugstr_wsaioctl(code));
- }
The returned size handling doesn't look right.