- if (fgets(line, sizeof(line), stdin) &&
- line[0] != '\0' && line[0] != '\n') {
+ if (ret == 1) /* key was absent */
+ fprintf(stderr, absentmsg, fingerprint);
+
+ hin = GetStdHandle(STD_INPUT_HANDLE);
+ GetConsoleMode(hin, &savemode);
+ SetConsoleMode(hin, (savemode | ENABLE_ECHO_INPUT |
+ ENABLE_PROCESSED_INPUT | ENABLE_LINE_INPUT));
+ ReadFile(hin, line, sizeof(line)-1, &i, NULL);
+ SetConsoleMode(hin, savemode);
+
+ if (ret == 2) { /* key was different */
+ if (line[0] != '\0' && line[0] != '\r' && line[0] != '\n') {