lineedit: fix another corner case with bad unicode input
function old new delta read_key 607 646 +39 readit 50 55 +5 getch_nowait 290 295 +5 hash_find 233 234 +1 xstrtoul_range_sfx 231 230 -1 passwd_main 1058 1056 -2 builtin_exit 45 43 -2 cmp_main 649 645 -4 lineedit_read_key 257 245 -12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/5 up/down: 50/-21) Total: 29 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
b0a57abb79
commit
58f108eb33
6 changed files with 67 additions and 35 deletions
|
@ -855,7 +855,7 @@ static int getch_nowait(void)
|
|||
|
||||
/* We have kbd_fd in O_NONBLOCK mode, read inside read_key()
|
||||
* would not block even if there is no input available */
|
||||
rd = read_key(kbd_fd, kbd_input);
|
||||
rd = read_key(kbd_fd, kbd_input, /*timeout off:*/ -2);
|
||||
if (rd == -1) {
|
||||
if (errno == EAGAIN) {
|
||||
/* No keyboard input available. Since poll() did return,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue