diff options
-rw-r--r-- | cpukit/libcsupport/ChangeLog | 8 | ||||
-rw-r--r-- | cpukit/libcsupport/src/termios.c | 5 |
2 files changed, 12 insertions, 1 deletions
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 <Thomas.Doerfler@imd-systems.de> + + 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 <corsepiu@faw.uni-ulm.de> * src/no_posix.c: include <reent.h> instead of <sys/reent.h> 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) } } } + |