summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_tty.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_tty.cc')
-rw-r--r--winsup/cygwin/fhandler_tty.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index dc0f0fceb..3b47f567a 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -167,7 +167,7 @@ fhandler_pty_master::accept_input ()
get_ttyp ()->read_retval = -1;
break;
}
- else
+ else
get_ttyp ()->read_retval = 1;
p += written;
@@ -1077,8 +1077,12 @@ fhandler_pty_master::close ()
int
fhandler_pty_master::write (const void *ptr, size_t len)
{
- (void) line_edit ((char *) ptr, len);
- return len;
+ size_t i;
+ char *p = (char *) ptr;
+ for (i=0; i<len; i++)
+ if (line_edit (p++, 1) == line_edit_error)
+ break;
+ return i;
}
int __stdcall