diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-11-13 18:37:15 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-11-13 18:37:15 +0000 |
commit | 73742508fcd8e994450582c1b7296c709da66764 (patch) | |
tree | c405f5ab833dc3813d0d1b4d6b5aea57abbd713f /winsup/cygwin/fhandler.h | |
parent | d544f256d1c575f6358d6a9405f7906a5cfbce36 (diff) | |
download | cygnal-73742508fcd8e994450582c1b7296c709da66764.tar.gz cygnal-73742508fcd8e994450582c1b7296c709da66764.tar.bz2 cygnal-73742508fcd8e994450582c1b7296c709da66764.zip |
* fhandler.h (fhandler_termios::line_edit): Add parameter to return
written bytes.
* fhandler_termios.cc (fhandler_termios::tcinit): Fix formatting.
(fhandler_termios::line_edit): Return bytes actually written. Write
in 32 byte chunks in non-canonical mode to reduce number of WriteFile
calls. Don't just eat unwritten bytes in case of an error condition.
Especially, don't report them back to the caller as written.
* fhandler_tty.cc (fhandler_pty_slave::read): Disable code reducing
the number of bytes read from the pipe to vmin. Add comment.
(fhandler_pty_master::write): Convert ret to ssize_t type. Just call
line_edit once, not in a loop once for each byte. Return bytes written
as returned by line_edit.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 54c81dce6..0128815e7 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -1204,7 +1204,8 @@ class fhandler_termios: public fhandler_base need_fork_fixup (true); } HANDLE& get_output_handle () { return output_handle; } - line_edit_status line_edit (const char *rptr, int nread, termios&); + line_edit_status line_edit (const char *rptr, size_t nread, termios&, + ssize_t *bytes_read = NULL); void set_output_handle (HANDLE h) { output_handle = h; } void tcinit (bool force); bool is_tty () const { return true; } |