summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_console.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_console.cc')
-rw-r--r--winsup/cygwin/fhandler_console.cc11
1 files changed, 2 insertions, 9 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc
index 54d8da618..c7b9a6ec3 100644
--- a/winsup/cygwin/fhandler_console.cc
+++ b/winsup/cygwin/fhandler_console.cc
@@ -115,20 +115,13 @@ fhandler_console::read (void *pv, size_t buflen)
return 0;
HANDLE h = get_io_handle ();
- int copied_chars = 0;
#define buf ((char *) pv)
int ch;
set_input_state ();
- while (buflen)
- if ((ch = get_readahead ()) < 0)
- break;
- else
- {
- buf[copied_chars++] = (unsigned char)(ch & 0xff);
- buflen--;
- }
+
+ int copied_chars = get_readahead_into_buffer (buf, buflen);
if (copied_chars)
return copied_chars;