btrfs-progs: utils: ask_user: flush stdout after prompt
when stdio is line buffered printf will not flush anything (on musl?), leaving the program hanging without displaying any prompt and weird dialogs such as the following: ``` alpine:~# btrfstune -S 0 /dev/mmcblk1p1 WARNING: this is dangerous, clearing the seeding flag may cause the derived device not to be mountable! y WARNING: seeding flag is not set on /dev/mmcblk1p1 We are going to clear the seeding flag, are you sure? [y/N]: alpine:~# ``` forcing flush makes the prompt display properly Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com> Reviewed-by: Qu Wenruo <wqu@suse.com>
This commit is contained in:
parent
479103c705
commit
7d550e5a83
|
@ -416,6 +416,7 @@ int ask_user(const char *question)
|
||||||
char *answer;
|
char *answer;
|
||||||
|
|
||||||
printf("%s [y/N]: ", question);
|
printf("%s [y/N]: ", question);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
return fgets(buf, sizeof(buf) - 1, stdin) &&
|
return fgets(buf, sizeof(buf) - 1, stdin) &&
|
||||||
(answer = strtok_r(buf, " \t\n\r", &saveptr)) &&
|
(answer = strtok_r(buf, " \t\n\r", &saveptr)) &&
|
||||||
|
|
Loading…
Reference in New Issue