Dmitry Timoshkov : ntdll: Properly set flag which indicates buffer empty state.

Alexandre Julliard julliard at winehq.org
Thu Aug 29 13:18:14 CDT 2013


Module: wine
Branch: master
Commit: 52d1080544ccd2dd4d4a261de501a4fa0770e885
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=52d1080544ccd2dd4d4a261de501a4fa0770e885

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Thu Aug 29 10:26:24 2013 +0900

ntdll: Properly set flag which indicates buffer empty state.

---

 dlls/kernel32/tests/comm.c |    1 +
 dlls/ntdll/serial.c        |   13 +++++--------
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/dlls/kernel32/tests/comm.c b/dlls/kernel32/tests/comm.c
index 4b0eb82..647c07a 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 93991f9..de699ef 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;
 }




More information about the wine-cvs mailing list