diff options
Diffstat (limited to 'util-linux/fsck_minix.c')
-rw-r--r-- | util-linux/fsck_minix.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c index 5d1d2af31..cdd306031 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c | |||
@@ -341,22 +341,24 @@ static int ask(const char *string, int def) | |||
341 | } | 341 | } |
342 | printf(def ? "%s (y/n)? " : "%s (n/y)? ", string); | 342 | printf(def ? "%s (y/n)? " : "%s (n/y)? ", string); |
343 | for (;;) { | 343 | for (;;) { |
344 | fflush(stdout); | 344 | fflush(NULL); |
345 | c = getchar(); | 345 | c = getchar(); |
346 | if (c == EOF) { | 346 | if (c == EOF) { |
347 | if (!def) | 347 | if (!def) |
348 | errors_uncorrected = 1; | 348 | errors_uncorrected = 1; |
349 | return def; | 349 | return def; |
350 | } | 350 | } |
351 | c = toupper(c); | 351 | if (c == '\n') |
352 | if (c == 'Y') { | 352 | break; |
353 | c |= 0x20; /* tolower */ | ||
354 | if (c == 'y') { | ||
353 | def = 1; | 355 | def = 1; |
354 | break; | 356 | break; |
355 | } else if (c == 'N') { | 357 | } |
358 | if (c == 'n') { | ||
356 | def = 0; | 359 | def = 0; |
357 | break; | 360 | break; |
358 | } else if (c == ' ' || c == '\n') | 361 | } |
359 | break; | ||
360 | } | 362 | } |
361 | if (def) | 363 | if (def) |
362 | printf("y\n"); | 364 | printf("y\n"); |