aboutsummaryrefslogtreecommitdiff
path: root/sha1_file.c
diff options
context:
space:
mode:
authorJonathan Tan <jonathantanmy@google.com>2017-08-18 15:20:32 -0700
committerJunio C Hamano <gitster@pobox.com>2017-08-23 15:12:07 -0700
commit9e0f45f5a61d9d0556e6004198dd6a650be14bd9 (patch)
treef5037d6faeb9de15103198bd2801ecfa6946c5de /sha1_file.c
parentd5a16761820f2539bf8610c8f0c64f610e29314e (diff)
downloadgit-9e0f45f5a61d9d0556e6004198dd6a650be14bd9.tar.gz
git-9e0f45f5a61d9d0556e6004198dd6a650be14bd9.tar.xz
pack: move check_pack_index_ptr(), nth_packed_object_offset()
Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_file.c')
-rw-r--r--sha1_file.c33
1 files changed, 0 insertions, 33 deletions
diff --git a/sha1_file.c b/sha1_file.c
index 20cb30b87..52e9292ff 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1075,39 +1075,6 @@ int parse_sha1_header(const char *hdr, unsigned long *sizep)
return parse_sha1_header_extended(hdr, &oi, 0);
}
-void check_pack_index_ptr(const struct packed_git *p, const void *vptr)
-{
- const unsigned char *ptr = vptr;
- const unsigned char *start = p->index_data;
- const unsigned char *end = start + p->index_size;
- if (ptr < start)
- die(_("offset before start of pack index for %s (corrupt index?)"),
- p->pack_name);
- /* No need to check for underflow; .idx files must be at least 8 bytes */
- if (ptr >= end - 8)
- die(_("offset beyond end of pack index for %s (truncated index?)"),
- p->pack_name);
-}
-
-off_t nth_packed_object_offset(const struct packed_git *p, uint32_t n)
-{
- const unsigned char *index = p->index_data;
- index += 4 * 256;
- if (p->index_version == 1) {
- return ntohl(*((uint32_t *)(index + 24 * n)));
- } else {
- uint32_t off;
- index += 8 + p->num_objects * (20 + 4);
- off = ntohl(*((uint32_t *)(index + 4 * n)));
- if (!(off & 0x80000000))
- return off;
- index += p->num_objects * 4 + (off & 0x7fffffff) * 8;
- check_pack_index_ptr(p, index);
- return (((uint64_t)ntohl(*((uint32_t *)(index + 0)))) << 32) |
- ntohl(*((uint32_t *)(index + 4)));
- }
-}
-
off_t find_pack_entry_one(const unsigned char *sha1,
struct packed_git *p)
{