* fhandler_termios.cc (fhandler_termios::line_edit): Fix condition
for writing remaining bytes in readahead buffer in non-canonical mode.
This commit is contained in:
parent
3667a9f444
commit
31c123f982
|
@ -1,3 +1,8 @@
|
||||||
|
2015-02-26 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* fhandler_termios.cc (fhandler_termios::line_edit): Fix condition
|
||||||
|
for writing remaining bytes in readahead buffer in non-canonical mode.
|
||||||
|
|
||||||
2015-02-25 Corinna Vinschen <corinna@vinschen.de>
|
2015-02-25 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* sec_acl.cc (setacl): Always grant default owner entry
|
* sec_acl.cc (setacl): Always grant default owner entry
|
||||||
|
|
|
@ -393,15 +393,17 @@ fhandler_termios::line_edit (const char *rptr, size_t nread, termios& ti,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we didn't write all bytes in non-canonical mode, write them now. */
|
/* If we didn't write all bytes in non-canonical mode, write them now. */
|
||||||
if (!iscanon && ralen > 0)
|
if (!iscanon && ralen > 0
|
||||||
|
&& (ret == line_edit_ok || ret == line_edit_input_done))
|
||||||
{
|
{
|
||||||
if (ret == line_edit_ok)
|
int status = accept_input ();
|
||||||
{
|
if (status != 1)
|
||||||
int status = accept_input ();
|
{
|
||||||
if (status != 1)
|
ret = status ? line_edit_error : line_edit_pipe_full;
|
||||||
nread += ralen;
|
nread += ralen;
|
||||||
}
|
}
|
||||||
ret = line_edit_input_done;
|
else
|
||||||
|
ret = line_edit_input_done;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Adding one compensates for the postdecrement in the above loop. */
|
/* Adding one compensates for the postdecrement in the above loop. */
|
||||||
|
|
|
@ -56,3 +56,9 @@ Bug Fixes
|
||||||
|
|
||||||
- Fix a potential heap corruption in mkgroup and mkpasswd when enumerating
|
- Fix a potential heap corruption in mkgroup and mkpasswd when enumerating
|
||||||
Unix users.
|
Unix users.
|
||||||
|
|
||||||
|
- Regression in 1.7.34: A patch to the pty handling fixing the problem
|
||||||
|
reported in https://cygwin.com/ml/cygwin-developers/2014-11/msg00000.html
|
||||||
|
was incomplete and lead to undesired buffering in non-canonical mode.
|
||||||
|
This should be fixed now.
|
||||||
|
Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00608.html
|
||||||
|
|
Loading…
Reference in New Issue