Commit fa4304f0 authored by Tom Brus's avatar Tom Brus Committed by Alexandre Julliard

ntdll: Serial/COM code misinterpreted XON/XOFF direction.

parent dfe21d0e
......@@ -227,9 +227,9 @@ static NTSTATUS get_hand_flow(int fd, SERIAL_HANDFLOW* shf)
#endif
shf->ControlHandShake |= SERIAL_RTS_CONTROL;
}
if (port.c_iflag & IXON)
shf->FlowReplace |= SERIAL_AUTO_RECEIVE;
if (port.c_iflag & IXOFF)
shf->FlowReplace |= SERIAL_AUTO_RECEIVE;
if (port.c_iflag & IXON)
shf->FlowReplace |= SERIAL_AUTO_TRANSMIT;
shf->XonLimit = 10;
......@@ -611,13 +611,13 @@ static NTSTATUS set_handflow(int fd, const SERIAL_HANDFLOW* shf)
#endif
if (shf->FlowReplace & SERIAL_AUTO_RECEIVE)
port.c_iflag |= IXON;
else
port.c_iflag &= ~IXON;
if (shf->FlowReplace & SERIAL_AUTO_TRANSMIT)
port.c_iflag |= IXOFF;
else
port.c_iflag &= ~IXOFF;
if (shf->FlowReplace & SERIAL_AUTO_TRANSMIT)
port.c_iflag |= IXON;
else
port.c_iflag &= ~IXON;
if (tcsetattr(fd, TCSANOW, &port) == -1)
{
ERR("tcsetattr error '%s'\n", strerror(errno));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment