patch for Bug 9986: serial/COM code misinterprets XON/XOFF direction

Tom Brus tombrus at gmail.com
Mon Oct 22 13:08:20 CDT 2007


--- wine-0.9.46/dlls/ntdll/serial.c	2007-10-11 14:20:05.000000000 +0200
+++ wine-0.9.46-new/dlls/ntdll/serial.c	2007-10-11 14:21:08.000000000 +0200
@@ -228,9 +228,9 @@
             shf->ControlHandShake |= SERIAL_RTS_CONTROL;
     }
     if (port.c_iflag & IXOFF)
-        shf->FlowReplace |= SERIAL_AUTO_TRANSMIT;
-    if (port.c_iflag & IXON)
         shf->FlowReplace |= SERIAL_AUTO_RECEIVE;
+    if (port.c_iflag & IXON)
+        shf->FlowReplace |= SERIAL_AUTO_TRANSMIT;

     shf->XonLimit = 10;
     shf->XoffLimit = 10;
@@ -610,11 +610,11 @@
     }
 #endif

-    if (shf->FlowReplace & SERIAL_AUTO_TRANSMIT)
+    if (shf->FlowReplace & SERIAL_AUTO_RECEIVE)
         port.c_iflag |= IXOFF;
     else
         port.c_iflag &= ~IXOFF;
-    if (shf->FlowReplace & SERIAL_AUTO_RECEIVE)
+    if (shf->FlowReplace & SERIAL_AUTO_TRANSMIT)
         port.c_iflag |= IXON;
     else
         port.c_iflag &= ~IXON;



More information about the wine-patches mailing list