From 4ec07e9443866d49fe1976d203540ff3ed07fe2f Mon Sep 17 00:00:00 2001 From: Zhenhua Zhang Date: Tue, 6 Jul 2010 14:23:06 +0800 Subject: [PATCH] test-server: Use cfmakeraw to set TTY raw mode 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 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gatchat/test-server.c b/gatchat/test-server.c index 25a1192c..2911978f 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); }