bugfix: resend: serial: fix TRACE output: IXON and IXON are swapped
Wolfgang Walter
wine at stwm.de
Sat Dec 20 09:51:03 CST 2008
This fixes a trace output where IXON and IXOFF is swapped (has been forgotten
in commit fa4304f06eebc98af35c03569c4bc28f9d881d4c).
Reagrds,
--
Wolfgang Walter
Studentenwerk München
Anstalt des öffentlichen Rechts
Leiter EDV
Leopoldstraße 15
80802 München
-------------- next part --------------
From 87f4df2725f68cfea0de56967b24a92a6cf8cccd Mon Sep 17 00:00:00 2001
From: Wolfgang Walter <wine at stwm.de>
Date: Fri, 12 Dec 2008 12:46:56 +0100
Subject: serial: fix set_XOff an set_XOn
set_XOff: must not change IXOFF but simulates that xon has been received
set_Xon: must not change IXON but simulates that xon has been received
(see MSDN)
---
dlls/ntdll/serial.c | 30 ++++++++----------------------
1 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/dlls/ntdll/serial.c b/dlls/ntdll/serial.c
index edad40e..7cc8d00 100644
--- a/dlls/ntdll/serial.c
+++ b/dlls/ntdll/serial.c
@@ -800,39 +800,25 @@ static NTSTATUS set_wait_mask(HANDLE hDevice, DWORD mask)
return status;
}
+/*
+ * does not change IXOFF but simulates that xon has been received:
+ */
static NTSTATUS set_XOff(int fd)
{
- struct termios port;
-
- if (tcgetattr(fd,&port) == -1)
- {
- FIXME("tcgetattr on fd %d failed (%s)!\n", fd, strerror(errno));
- return FILE_GetNtStatus();
-
-
- }
- port.c_iflag |= IXOFF;
- if (tcsetattr(fd, TCSADRAIN, &port) == -1)
+ if (tcflow(fd, TCOOFF))
{
- FIXME("tcsetattr on fd %d failed (%s)!\n", fd, strerror(errno));
return FILE_GetNtStatus();
}
return STATUS_SUCCESS;
}
+/*
+ * does not change IXON but simulates that xon has been received:
+ */
static NTSTATUS set_XOn(int fd)
{
- struct termios port;
-
- if (tcgetattr(fd,&port) == -1)
- {
- FIXME("tcgetattr on fd %d failed (%s)!\n", fd, strerror(errno));
- return FILE_GetNtStatus();
- }
- port.c_iflag |= IXON;
- if (tcsetattr(fd, TCSADRAIN, &port) == -1)
+ if (tcflow(fd, TCOON))
{
- FIXME("tcsetattr on fd %d failed (%s)!\n", fd, strerror(errno));
return FILE_GetNtStatus();
}
return STATUS_SUCCESS;
--
1.5.6.5
More information about the wine-patches
mailing list