diff options
author | Junio C Hamano <junkio@cox.net> | 2006-04-03 23:41:09 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-04-03 23:42:25 -0700 |
commit | 687dd75c95f9212244b6cf4fe60b40db44de01ba (patch) | |
tree | eb571e0451106ce1a69edb45e1104bfca0566c19 | |
parent | pack-objects: be incredibly anal about stdio semantics (diff) | |
download | tgif-687dd75c95f9212244b6cf4fe60b40db44de01ba.tar.xz |
safe_fgets() - even more anal fgets()
This is from Linus -- the previous round forgot to clear error
after EINTR case.
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | pack-objects.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pack-objects.c b/pack-objects.c index 084c2006a9..7d6247791d 100644 --- a/pack-objects.c +++ b/pack-objects.c @@ -915,9 +915,10 @@ int main(int argc, char **argv) break; if (!ferror(stdin)) die("fgets returned NULL, not EOF, not error!"); - if (errno == EINTR) - continue; - die("fgets: %s", strerror(errno)); + if (errno != EINTR) + die("fgets: %s", strerror(errno)); + clearerr(stdin); + continue; } if (progress_update) { |