diff options
author | Lukas Fleischer <lfleischer@calcurse.org> | 2019-02-10 21:40:11 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2019-02-10 21:40:11 +0100 |
commit | 6cd67311e30c2dc3c138f339b536679ad1a8d5f4 (patch) | |
tree | 465aa84c4f5bbdd90112105e748f0038f1cf3dfe | |
parent | 0bbe802002c660dd9d555d557ce8daa7c5d681b9 (diff) | |
download | calcurse-6cd67311e30c2dc3c138f339b536679ad1a8d5f4.tar.gz calcurse-6cd67311e30c2dc3c138f339b536679ad1a8d5f4.zip |
Check for KEY_ENTER in getstring()
In some cases (e.g., TERM=pccon0) wgetch(3) can return KEY_ENTER instead
of '\n' when the return key is pressed, causing getstring() to fail.
Suggested-by: Mikolaj Kucharski <mikolaj@kucharski.name>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
-rw-r--r-- | src/getstring.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/getstring.c b/src/getstring.c index 6546565..186598d 100644 --- a/src/getstring.c +++ b/src/getstring.c @@ -191,7 +191,8 @@ enum getstr getstring(WINDOW * win, char *str, int l, int x, int y) getstr_print(win, x, y, &st); wins_doupdate(); - if ((ch = wgetch(win)) == '\n') + ch = wgetch(win); + if ((ch == '\n') || (ch == KEY_ENTER)) break; switch (ch) { case KEY_BACKSPACE: /* delete one character */ |