diff --git a/dlls/kernel32/tests/comm.c b/dlls/kernel32/tests/comm.c index 4b0eb82088a..647c07a8fbe 100644 --- a/dlls/kernel32/tests/comm.c +++ b/dlls/kernel32/tests/comm.c @@ -851,6 +851,7 @@ todo_wine { res = GetOverlappedResult(hcom, &ovl_wait, &bytes, FALSE); ok(res, "GetOverlappedResult reported error %d\n", GetLastError()); +todo_wine ok(bytes == sizeof(evtmask), "expected %u, written %u\n", (UINT)sizeof(evtmask), bytes); res = TRUE; } diff --git a/dlls/ntdll/serial.c b/dlls/ntdll/serial.c index 93991f92b89..de699ef6682 100644 --- a/dlls/ntdll/serial.c +++ b/dlls/ntdll/serial.c @@ -838,16 +838,13 @@ static NTSTATUS get_irq_info(int fd, serial_irq_info *irq_info) TRACE("TIOCSERGETLSR err %s\n", strerror(errno)); #endif #ifdef TIOCOUTQ /* otherwise we log when the out queue gets empty */ - if (ioctl(fd, TIOCOUTQ, &irq_info->temt)) + if (!ioctl(fd, TIOCOUTQ, &out)) { - TRACE("TIOCOUTQ err %s\n", strerror(errno)); - return FILE_GetNtStatus(); - } - else - { - if (irq_info->temt == 0) - irq_info->temt = 1; + irq_info->temt = out == 0; + return STATUS_SUCCESS; } + TRACE("TIOCOUTQ err %s\n", strerror(errno)); + return FILE_GetNtStatus(); #endif return STATUS_SUCCESS; }