X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=builtin-pack-objects.c;h=45ac3e482acc1c0f8f2bad043f1ba50019dec505;hb=f48fd68887a03756658a46486a5dd1301c5a655f;hp=73d448b890d61b79793290b6b9b9aceea0a89cdc;hpb=4287307833a7c67b09973fc1023311e473f830b2;p=git.git diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c index 73d448b89..45ac3e482 100644 --- a/builtin-pack-objects.c +++ b/builtin-pack-objects.c @@ -222,7 +222,7 @@ static const unsigned char *find_packed_object_name(struct packed_git *p, off_t ofs) { struct revindex_entry *entry = find_packed_object(p, ofs); - return ((unsigned char *)p->index_data) + 4 * 256 + 24 * entry->nr + 4; + return nth_packed_object_sha1(p, entry->nr); } static void *delta_against(void *buf, unsigned long size, struct object_entry *entry) @@ -854,7 +854,7 @@ static void add_pbase_object(struct tree_desc *tree, unsigned long size; enum object_type type; - if (entry.pathlen != cmplen || + if (tree_entry_len(entry.path, entry.sha1) != cmplen || memcmp(entry.path, name, cmplen) || !has_sha1_file(entry.sha1) || (type = sha1_object_info(entry.sha1, &size)) < 0) @@ -873,8 +873,7 @@ static void add_pbase_object(struct tree_desc *tree, tree = pbase_tree_get(entry.sha1); if (!tree) return; - sub.buf = tree->tree_data; - sub.size = tree->tree_size; + init_tree_desc(&sub, tree->tree_data, tree->tree_size); add_pbase_object(&sub, down, downlen, fullname); pbase_tree_put(tree); @@ -937,8 +936,7 @@ static void add_preferred_base_object(const char *name, unsigned hash) } else { struct tree_desc tree; - tree.buf = it->pcache.tree_data; - tree.size = it->pcache.tree_size; + init_tree_desc(&tree, it->pcache.tree_data, it->pcache.tree_size); add_pbase_object(&tree, name, cmplen, name); } }