diff options
Diffstat (limited to 'src/common.c')
-rw-r--r-- | src/common.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/common.c b/src/common.c index d4b7c8d..79dc123 100644 --- a/src/common.c +++ b/src/common.c @@ -527,7 +527,7 @@ void get_user_input(char *buf, int maxlen, int secure) int len = 0; int c; - while ((c = my_getch())) { + while ((c = my_getch()) > 0) { if ((c == '\r') || (c == '\n')) { break; } else if (isprint(c)) { @@ -541,6 +541,9 @@ void get_user_input(char *buf, int maxlen, int secure) } } } + if (c < 0) { + len = 0; + } fputs("\n", stdout); buf[len] = 0; } |