* 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.
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user