From 35e6bf7f8eca0860153eb356e816d3357d47f4fa Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 26 May 2003 15:57:04 +0000 Subject: 2003-04-17 Thomas Doerfler PR 399/rtems_misc * src/termios.c: In canonical mode, when input is present in the input buffer that contains an EOL character and some following characters, a read call read data behind the EOL character, although it should stop reading with the EOL character. --- cpukit/libcsupport/ChangeLog | 8 ++++++++ cpukit/libcsupport/src/termios.c | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cpukit/libcsupport/ChangeLog b/cpukit/libcsupport/ChangeLog index 5613c18700..95d1773e9a 100644 --- a/cpukit/libcsupport/ChangeLog +++ b/cpukit/libcsupport/ChangeLog @@ -1,3 +1,11 @@ +2003-04-17 Thomas Doerfler + + PR 399/rtems_misc + * src/termios.c: In canonical mode, when input is present in the + input buffer that contains an EOL character and some following + characters, a read call read data behind the EOL character, although + it should stop reading with the EOL character. + 2003-04-17 Ralf Corsepius * src/no_posix.c: include instead of diff --git a/cpukit/libcsupport/src/termios.c b/cpukit/libcsupport/src/termios.c index d83b635d37..96eb92d509 100644 --- a/cpukit/libcsupport/src/termios.c +++ b/cpukit/libcsupport/src/termios.c @@ -1063,8 +1063,10 @@ fillBufferQueue (struct rtems_termios_tty *tty) /* continue processing new character */ if (tty->termios.c_lflag & ICANON) { - if (siproc (c, tty)) + if (siproc (c, tty)) { wait = 0; + break; /* done */ + } } else { siproc (c, tty); @@ -1510,3 +1512,4 @@ static rtems_task rtems_termios_rxdaemon(rtems_task_argument argument) } } } + -- cgit v1.2.3