Re: TIOCPKT mode of PTY is broken if ONLCR bit is cleared.

2015-03-25 Thread Corinna Vinschen
On Mar 25 20:42, Takashi Yano wrote:
 Dear cygwin developers,
 
 Regarding this (http://cygwin.com/ml/cygwin/2015-02/msg00929.html)
 problem, I made a patch attached.

Patch applied, thank you.  Btw., there's a Freenode IRC channel
#cygwin-developers.  Feel free to join.


Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat


pgpYS39MDks1r.pgp
Description: PGP signature


Re: TIOCPKT mode of PTY is broken if ONLCR bit is cleared.

2015-03-25 Thread Takashi Yano
Dear cygwin developers,

Regarding this (http://cygwin.com/ml/cygwin/2015-02/msg00929.html)
problem, I made a patch attached.

I have posted the patch to this ML with Corinna's directions.

On Mon, 23 Mar 2015 11:08:23 +0100
Corinna Vinschen corinna-cyg...@cygwin.com wrote:

 However, due to the changes in fhandler_tty.cc, this patch doesn't
 apply cleanly anymore.  Any chance you could resend it (ideally to the
 cygwin-patches ML) diff'ed against git HEAD?

Please find a revised patch attached to this mail.

ChangeLog is as follows:

2015-03-25  Takashi Yano takashi.y...@nifty.ne.jp

* 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.

Best regards,
Takashi Yano

-- 
Takashi Yano takashi.y...@nifty.ne.jp


cygwin.patch.20150325
Description: Binary data