[PATCH] test-server: Use cfmakeraw to set TTY raw mode
Marcel Holtmann
marcel at holtmann.org
Tue Jul 6 05:51:50 PDT 2010
Hi Zhenhua,
> Use cfmakeraw to disable echoing and special characters processing. If
> we don't turn off ICRNL, TTY layer translates \r\n to \n\n.
> ---
> gatchat/test-server.c | 8 +++-----
> 1 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/gatchat/test-server.c b/gatchat/test-server.c
> index 25a1192..2911978 100644
> --- a/gatchat/test-server.c
> +++ b/gatchat/test-server.c
> @@ -848,12 +848,10 @@ static void set_raw_mode(int fd)
> {
> struct termios options;
>
> + memset(&options, 0, sizeof(struct termios));
> tcgetattr(fd, &options);
> -
> - /* Set TTY as raw mode to disable echo back of input characters
> - * when they are received from Modem to avoid feedback loop */
> - options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
> -
> + tcflush(fd, TCIOFLUSH);
> + cfmakeraw(&options);
> tcsetattr(fd, TCSANOW, &options);
> }
I am fine with using cfmakeraw. So patch has been applied.
Minor comment here that sizeof(options) would be better then referencing
the struct itself. And in general we have used ti as variable name for
termios options. Don't ask me really why. Just have done that in the
patch. So feel free to send an cleanup patch.
Regards
Marcel
More information about the ofono
mailing list