Subject: [PATCH v3 10/13] rerere.c: move error_errno() closer to the source system call

From: Junio C Hamano <[email-masked]>
Date: Fri, 26 May 2017 12:35:07 +0900

From: Nguyễn Thái Ngọc Duy <[email-masked]>

We are supposed to report errno from fopen(). fclose() between fopen()
and the report function could either change errno or reset it.

Signed-off-by: Junio C Hamano <[email-masked]>
---
 rerere.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/rerere.c b/rerere.c
index 1351b0c3fb..c26c29f87a 100644
--- a/rerere.c
+++ b/rerere.c
@@ -489,8 +489,9 @@ static int handle_file(const char *path, unsigned char *sha1, const char *output
 	if (output) {
 		io.io.output = fopen(output, "w");
 		if (!io.io.output) {
+			error_errno("Could not write %s", output);
 			fclose(io.input);
-			return error_errno("Could not write %s", output);
+			return -1;
 		}
 	}
 
-- 
2.13.0-491-g71cfeddc25