]> sourceware.org Git - newlib-cygwin.git/commit
TIOCPKT mode of PTY is broken if ONLCR bit is cleared.
authorTakashi Yano <takashi.yano@nifty.ne.jp>
Wed, 25 Mar 2015 11:42:38 +0000 (20:42 +0900)
committerCorinna Vinschen <corinna@vinschen.de>
Wed, 25 Mar 2015 15:00:46 +0000 (16:00 +0100)
commitc596f5b73c09a914fdaa12c9098d75d7a49e7fde
tree356fff1cdace78b15f1be37e68af858659a4ccf6
parentd70f57112fbe1d9ab1a7edfb251e6dd78a78b0e0
TIOCPKT mode of PTY is broken if ONLCR bit is cleared.

* tty.h (class tty_min): Remove variable "write_error" to which any
errors are not currently set at anywhere.
(class tty): Add variable "column" for handling ONOCR.
* tty.cc (tty::init): Add initialization code for variable "column".
* fhandler.h (class fhandler_pty_master): Remove variable "need_nl"
which is not necessary any more. "need_nl" was needed by OPOST process
in fhandler_pty_master::process_slave_output().
(class fhandler_pty_common): Add function process_opost_output() for
handling post processing for OPOST in write process.
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Count
TIOCPKT control byte into length to be read in TIOCPKT mode. Move
post processing for OPOST to write process. Remove code related to
variable "write_error". Return with EIO error if slave is already
closed.
(fhandler_pty_master::fhandler_pty_master): Remove initialization
code for variable "need_nl".
(fhandler_pty_common::process_opost_output): Add this function for
handling of OPOST in write process. Add code to avoid blocking in
non-blocking mode when output is suspended by ^S.
(fhandler_pty_slave::write): Call fhandler_pty_common::
process_opost_output() instead of WriteFile(). Remove code related to
variable "write_error".
(fhandler_pty_master::doecho): Call fhandler_pty_common::
 process_opost_output() instead of WriteFile().
* select.cc (peek_pipe): Remove code related to variable "need_nl".

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/ChangeLog
winsup/cygwin/fhandler.h
winsup/cygwin/fhandler_tty.cc
winsup/cygwin/release/1.7.36
winsup/cygwin/select.cc
winsup/cygwin/tty.cc
winsup/cygwin/tty.h
This page took 0.06962 seconds and 5 git commands to generate.