]> git.ipfire.org Git - thirdparty/git.git/commit - git-add--interactive.perl
add--interactive: handle EOF in prompt_yesno
authorJeff King <peff@peff.net>
Wed, 21 Jun 2017 19:26:36 +0000 (15:26 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 21 Jun 2017 21:06:09 +0000 (14:06 -0700)
commitd5addcf522deb05d259ecbc0946584d977879565
tree659c54abaedfddcf6e1d549a4b5af86c2f8b33b6
parent1d73f8e86d7b4d95e0b7ce53eec2a5f8114722ac
add--interactive: handle EOF in prompt_yesno

The prompt_yesno function loops indefinitely waiting for a
"y" or "n" response. But it doesn't handle EOF, meaning
that we can end up in an infinite loop of reading EOF from
stdin. One way to simulate that is with:

  echo e | GIT_EDITOR='echo corrupt >' git add -p

Let's break out of the loop and propagate the undef to the
caller. Without modifying the callers that effectively turns
it into a "no" response. This is reasonable for both of the
current callers, and it leaves room for any future caller to
check for undef explicitly.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-add--interactive.perl