ws2_32: Only set error codes for triggered events in WSAEnumNetworkEvents().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2018-02-19 16:10:39 -06:00 committed by Alexandre Julliard
parent ea52b552d7
commit 80677440cf
2 changed files with 5 additions and 3 deletions

View File

@ -7218,7 +7218,10 @@ int WINAPI WSAEnumNetworkEvents(SOCKET s, WSAEVENT hEvent, LPWSANETWORKEVENTS lp
if (!ret)
{
for (i = 0; i < FD_MAX_EVENTS; i++)
lpEvent->iErrorCode[i] = NtStatusToWSAError(errors[i]);
{
if (lpEvent->lNetworkEvents & (1 << i))
lpEvent->iErrorCode[i] = NtStatusToWSAError(errors[i]);
}
return 0;
}
SetLastError(WSAEINVAL);

View File

@ -2995,7 +2995,7 @@ static void test_WSAEnumNetworkEvents(void)
}
for (k = 0; k < FD_MAX_EVENTS; k++)
{
if (i >= 1 && j == 0 && k == 1) /* first UDP and connected TCP test, FD_WRITE bit no error*/
if (net_events.lNetworkEvents & (1 << k))
{
ok (net_events.iErrorCode[k] == 0x0, "Test[%d][%d]: expected 0x0, got 0x%x\n",
i, k, net_events.iErrorCode[k]);
@ -3003,7 +3003,6 @@ static void test_WSAEnumNetworkEvents(void)
else
{
/* Bits that are not set in lNetworkEvents MUST not be changed */
todo_wine
ok (net_events.iErrorCode[k] == 0xABABABAB, "Test[%d][%d]: expected 0xABABABAB, got 0x%x\n",
i, k, net_events.iErrorCode[k]);
}