summaryrefslogtreecommitdiff
path: root/fast-import.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-03-21 22:07:17 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-03-21 22:07:17 (GMT)
commit45cbc37c5f84fadd78cccf6b2ea82a9ef251cdc6 (patch)
tree279382ccc172caff7ccd76eb2f0743619063597f /fast-import.c
parente15b9606557d590e1cdc1e3b1b9154cce455a4c8 (diff)
parentf20754802a280c57a1e5886605b6805bbf040c63 (diff)
downloadgit-45cbc37c5f84fadd78cccf6b2ea82a9ef251cdc6.zip
git-45cbc37c5f84fadd78cccf6b2ea82a9ef251cdc6.tar.gz
git-45cbc37c5f84fadd78cccf6b2ea82a9ef251cdc6.tar.bz2
Merge branch 'jk/pack-name-cleanups'
Code clean-up. * jk/pack-name-cleanups: index-pack: make pointer-alias fallbacks safer replace snprintf with odb_pack_name() odb_pack_keep(): stop generating keepfile name sha1_file.c: make pack-name helper globally accessible move odb_* declarations out of git-compat-util.h
Diffstat (limited to 'fast-import.c')
-rw-r--r--fast-import.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/fast-import.c b/fast-import.c
index 6c13472..41a539f 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -940,41 +940,40 @@ static const char *create_index(void)
static char *keep_pack(const char *curr_index_name)
{
- static char name[PATH_MAX];
static const char *keep_msg = "fast-import";
+ struct strbuf name = STRBUF_INIT;
int keep_fd;
- keep_fd = odb_pack_keep(name, sizeof(name), pack_data->sha1);
+ odb_pack_name(&name, pack_data->sha1, "keep");
+ keep_fd = odb_pack_keep(name.buf);
if (keep_fd < 0)
die_errno("cannot create keep file");
write_or_die(keep_fd, keep_msg, strlen(keep_msg));
if (close(keep_fd))
die_errno("failed to write keep file");
- snprintf(name, sizeof(name), "%s/pack/pack-%s.pack",
- get_object_directory(), sha1_to_hex(pack_data->sha1));
- if (finalize_object_file(pack_data->pack_name, name))
+ odb_pack_name(&name, pack_data->sha1, "pack");
+ if (finalize_object_file(pack_data->pack_name, name.buf))
die("cannot store pack file");
- snprintf(name, sizeof(name), "%s/pack/pack-%s.idx",
- get_object_directory(), sha1_to_hex(pack_data->sha1));
- if (finalize_object_file(curr_index_name, name))
+ odb_pack_name(&name, pack_data->sha1, "idx");
+ if (finalize_object_file(curr_index_name, name.buf))
die("cannot store index file");
free((void *)curr_index_name);
- return name;
+ return strbuf_detach(&name, NULL);
}
static void unkeep_all_packs(void)
{
- static char name[PATH_MAX];
+ struct strbuf name = STRBUF_INIT;
int k;
for (k = 0; k < pack_id; k++) {
struct packed_git *p = all_packs[k];
- snprintf(name, sizeof(name), "%s/pack/pack-%s.keep",
- get_object_directory(), sha1_to_hex(p->sha1));
- unlink_or_warn(name);
+ odb_pack_name(&name, p->sha1, "keep");
+ unlink_or_warn(name.buf);
}
+ strbuf_release(&name);
}
static int loosen_small_pack(const struct packed_git *p)
@@ -1033,6 +1032,7 @@ static void end_packfile(void)
die("core git rejected index %s", idx_name);
all_packs[pack_id] = new_p;
install_packed_git(new_p);
+ free(idx_name);
/* Print the boundary */
if (pack_edges) {