2002-10-22 Steve Osborn * fhandler.cc (fhandler_base::put_readahead): Limited size of buffer to reduce amount of garbage from cat'ing a binary file. * fhandler.h (fhandler_termios::doecho): Returns int, added force. (fhandler_termios::accept_input): Changed sense of return. (fhandler_termios::line_edit_cnt): Added. (fhandler_console::doecho): Returns int, added force. (fhandler_pty_master::doecho): Returns int, added force. (fhandler_pty_master::get_echobuf_valid): Added. (fhandler_pty_master::get_echobuf_into_buffer): Added. (fhandler_pty_master::clear_echobuf): Added. (fhandler_pty_master::ebbuf): Added pointer to echobuf. (fhandler_pty_master::ebixget): Added echobuf get index. (fhandler_pty_master::ebixput): Added echobuf put index. (fhandler_pty_master::ebbuflen): Added echobuf length. (fhandler_pty_master::ebguard): Added handle for guard mutex. * fhandler_termios.cc (fhandler_termios::line_edit): Wraps line_edit_cnt to provide previous signature. (fhandler_termios::line_edit_cnt): Added line_edit function with the ability to report number of bytes written. Handles cases where the echo or readahead buffer is full. (fhandler_termios::line_edit_cnt): Returns true if the last character resulted in an input_done - necessary for console. (fhandler_termios::line_edit_cnt): Added accept_input in EOF case. * fhandler_tty.cc (fhandler_pty_master::get_echobuf_valid): Added. (fhandler_pty_master::doecho): Rewritten to return bytes written to echobuf. Added force option to expand the buffer as necessary. (fhandler_pty_master::get_echobuf_into_buffer): Added. (fhandler_pty_master::clear_echobuf): Added. (fhandler_pty_master::accept_input): Sense of return changed to number of bytes not written. Added support for partial write. (fhandler_pty_master::process_slave_output): Prime read with echobuf. (fhandler_pty_master::fhandler_pty_master): Initializers for echobuf. (fhandler_pty_master::open): Calls clear_echobuf. (fhandler_pty_master::close): Calls clear_echobuf. (fhandler_pty_master::write): Returns number of bytes written. * select.cc (peek_pipe): Check for echobuf valid.