summaryrefslogtreecommitdiffstats
path: root/src/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.c')
-rw-r--r--src/common.c5
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;
}