safe_fgets() - even more anal fgets()
[git.git] / pack-objects.c
index 084c200..7d62477 100644 (file)
@@ -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) {