From 46b73ef192bc8e1ef3db88d1da99dfbe28bb371b Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 27 Dec 2002 03:50:29 +0000 Subject: * fhandler.h (fhandler_termios::line_edit): Replace third argument with passed-in termios struct. * fhandler_console.cc (fhandler_console::read): Prior to loop, make a copy of current termios for passing to line_edit prior so that all characters are processed consistently. * fhandler_tty.cc (fhandler_pty_master::write): Ditto. (process_input): Make a copy of curent termios prior to read for use in subsequent line_edit. * fhandler_termios.cc (fhandler_termios::line_edit): Replace third parameter with passed-in termios struct and use it throughout rather than the data from the current fhandler_termios class. --- winsup/cygwin/fhandler_tty.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/fhandler_tty.cc') diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc index ef15f9f40..45afbcab1 100644 --- a/winsup/cygwin/fhandler_tty.cc +++ b/winsup/cygwin/fhandler_tty.cc @@ -198,8 +198,9 @@ process_input (void *) while (1) { size_t nraw = INP_BUFFER_SIZE; + termios ti = tty_master->get_ttyp ()->ti; tty_master->console->read ((void *) rawbuf, nraw); - (void) tty_master->line_edit (rawbuf, nraw); + (void) tty_master->line_edit (rawbuf, nraw, ti); } } @@ -1080,9 +1081,11 @@ fhandler_pty_master::write (const void *ptr, size_t len) { int i; char *p = (char *) ptr; - for (i=0; i < (int) len; i++) + termios ti = tc->ti; + + for (i = 0; i < (int) len; i++) { - line_edit_status status = line_edit (p++, 1); + line_edit_status status = line_edit (p++, 1, ti); if (status > line_edit_signalled) { if (status != line_edit_pipe_full) -- cgit v1.2.3