diff options
author | Christopher Faylor <me@cgf.cx> | 2001-10-24 04:16:45 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-10-24 04:16:45 +0000 |
commit | a0626ebe27cd82210cf73434e518b258b59dcdb7 (patch) | |
tree | 62642f1b1f35ca1ffa2d401ec7b1290a512ef329 /winsup/cygwin/fhandler_console.cc | |
parent | 0280c8c0f342663f3a9c3844db5462125bac4a6c (diff) | |
download | newlib-a0626ebe27cd82210cf73434e518b258b59dcdb7.zip newlib-a0626ebe27cd82210cf73434e518b258b59dcdb7.tar.gz newlib-a0626ebe27cd82210cf73434e518b258b59dcdb7.tar.bz2 |
Ensure that all fhandler_*::read definitions are __stdcall throughout.
* fhandler.cc (fhandler_base::set_inheritance): Be more defensive in debugging
code.
* fhandler.h: Adjust regparms throughout to reflect passing 'this' parameter.
* fhandler_console.cc (fhandler_console::read): Remove unneeded test. Only
honor "key down" events.
* miscfuncs.cc (strcasestr): Reorganize for efficient code use.
(check_null_empty_str_errno): Ditto.
(__check_null_invalid_struct_errno): Ditto.
(__check_invalid_read_ptr_errno): Ditto.
* syscalls.cc (_read): Return 0 when length == 0, as per Single UNIX
Specification.
Diffstat (limited to 'winsup/cygwin/fhandler_console.cc')
-rw-r--r-- | winsup/cygwin/fhandler_console.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index 417fcce..a9b7bff 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -195,12 +195,9 @@ fhandler_console::set_cursor_maybe () } } -int +int __stdcall fhandler_console::read (void *pv, size_t buflen) { - if (!buflen) - return 0; - HANDLE h = get_io_handle (); #define buf ((char *) pv) @@ -262,6 +259,9 @@ fhandler_console::read (void *pv, size_t buflen) #define virtual_key_code (input_rec.Event.KeyEvent.wVirtualKeyCode) #define control_key_state (input_rec.Event.KeyEvent.dwControlKeyState) + if (!input_rec.Event.KeyEvent.bKeyDown) + continue; + #ifdef DEBUGGING /* allow manual switching to/from raw mode via ctrl-alt-scrolllock */ if (input_rec.Event.KeyEvent.bKeyDown && @@ -310,7 +310,7 @@ fhandler_console::read (void *pv, size_t buflen) tmp[1] = ich; /* Need this check since US code page seems to have a bug when converting a CTRL-U. */ - if ((unsigned char)ich > 0x7f) + if ((unsigned char) ich > 0x7f) con_to_str (tmp + 1, tmp + 1, 1); /* Determine if the keystroke is modified by META. The tricky part is to distinguish whether the right Alt key should be |