diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2020-04-10 13:27:50 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-04-10 19:26:31 +0200 |
commit | 08d383f23e80e418c844952fcc4e2e635962c292 (patch) | |
tree | 224078e2c20f9b24a935a4afa0c42799aaa69963 /prompt.c | |
parent | Merge branch 'ds/default-pack-use-sparse-to-true' (diff) | |
download | git-08d383f23e80e418c844952fcc4e2e635962c292.tar.xz git-08d383f23e80e418c844952fcc4e2e635962c292.zip |
interactive: refactor code asking the user for interactive input
There are quite a few code locations (e.g. `git clean --interactive`)
where Git asks the user for an answer. In preparation for fixing a bug
shared by all of them, and also to DRY up the code, let's refactor it.
Please note that most of these callers trimmed white-space both at the
beginning and at the end of the answer, instead of trimming only the
end (as the caller in `add-patch.c` does).
Therefore, technically speaking, we change behavior in this patch. At
the same time, it can be argued that this is actually a bug fix.
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 | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -74,3 +74,13 @@ char *git_prompt(const char *prompt, int flags) } return r; } + +int git_read_line_interactively(struct strbuf *line) +{ + int ret = strbuf_getline_lf(line, stdin); + + if (ret != EOF) + strbuf_trim_trailing_newline(line); + + return ret; +} |