coccinelle: polish FREE_AND_NULL rules
[gitweb.git] / rerere.c
index 3bd55caf3b0961888bcca06d3c54577cb25f5223..61f3804a1eb2d7d6af8f1f0408945a41d880bc94 100644 (file)
--- a/rerere.c
+++ b/rerere.c
@@ -39,9 +39,8 @@ static void free_rerere_dirs(void)
                free(rerere_dir[i]->status);
                free(rerere_dir[i]);
        }
-       free(rerere_dir);
+       FREE_AND_NULL(rerere_dir);
        rerere_dir_nr = rerere_dir_alloc = 0;
-       rerere_dir = NULL;
 }
 
 static void free_rerere_id(struct string_list_item *item)
@@ -200,7 +199,7 @@ static struct rerere_id *new_rerere_id(unsigned char *sha1)
 static void read_rr(struct string_list *rr)
 {
        struct strbuf buf = STRBUF_INIT;
-       FILE *in = fopen(git_path_merge_rr(), "r");
+       FILE *in = fopen_or_warn(git_path_merge_rr(), "r");
 
        if (!in)
                return;
@@ -484,13 +483,14 @@ static int handle_file(const char *path, unsigned char *sha1, const char *output
        io.input = fopen(path, "r");
        io.io.wrerror = 0;
        if (!io.input)
-               return error("Could not open %s", path);
+               return error_errno("Could not open %s", path);
 
        if (output) {
                io.io.output = fopen(output, "w");
                if (!io.io.output) {
+                       error_errno("Could not write %s", output);
                        fclose(io.input);
-                       return error("Could not write %s", output);
+                       return -1;
                }
        }