refs: change signatures of get_packed_refs() and get_loose_refs()
[gitweb.git] / builtin / revert.c
index 0c61668b858671c4817e1445de01812fcc53f92d..1ea525c10e4c00b66006bf46465ebd490823f25f 100644 (file)
@@ -308,7 +308,7 @@ static void write_cherry_pick_head(struct commit *commit, const char *pseudoref)
 
        strbuf_addf(&buf, "%s\n", sha1_to_hex(commit->object.sha1));
 
-       filename = git_path(pseudoref);
+       filename = git_path("%s", pseudoref);
        fd = open(filename, O_WRONLY | O_CREAT, 0666);
        if (fd < 0)
                die_errno(_("Could not open '%s' for writing"), filename);
@@ -931,8 +931,10 @@ static int sequencer_rollback(struct replay_opts *opts)
        if (strbuf_getline(&buf, f, '\n')) {
                error(_("cannot read %s: %s"), filename, ferror(f) ?
                        strerror(errno) : _("unexpected end of file"));
+               fclose(f);
                goto fail;
        }
+       fclose(f);
        if (get_sha1_hex(buf.buf, sha1) || buf.buf[40] != '\0') {
                error(_("stored pre-cherry-pick HEAD file '%s' is corrupt"),
                        filename);
@@ -940,12 +942,11 @@ static int sequencer_rollback(struct replay_opts *opts)
        }
        if (reset_for_rollback(sha1))
                goto fail;
+       remove_sequencer_state(1);
        strbuf_release(&buf);
-       fclose(f);
        return 0;
 fail:
        strbuf_release(&buf);
-       fclose(f);
        return -1;
 }