diff options
author | 마누엘 <nalla@hamal.uberspace.de> | 2020-04-10 13:27:51 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-04-10 19:27:16 +0200 |
commit | 1f09aed8346f11c9fd236940b6e500388c394af2 (patch) | |
tree | b75743fa3e205b88c1ff155dfe6ef1af663e60b4 /prompt.c | |
parent | interactive: refactor code asking the user for interactive input (diff) | |
download | git-1f09aed8346f11c9fd236940b6e500388c394af2.tar.xz git-1f09aed8346f11c9fd236940b6e500388c394af2.zip |
interactive: explicitly `fflush` stdout before expecting input
At least one interactive command writes a prompt to `stdout` and then
reads user input on `stdin`: `git clean --interactive`. If the prompt is
left in the buffer, the user will not realize the program is waiting for
their input.
So let's just flush `stdout` before reading the user's input.
Signed-off-by: 마누엘 <nalla@hamal.uberspace.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'prompt.c')
-rw-r--r-- | prompt.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -77,8 +77,10 @@ char *git_prompt(const char *prompt, int flags) int git_read_line_interactively(struct strbuf *line) { - int ret = strbuf_getline_lf(line, stdin); + int ret; + fflush(stdout); + ret = strbuf_getline_lf(line, stdin); if (ret != EOF) strbuf_trim_trailing_newline(line); |