]> granicus.if.org Git - git/commitdiff
pack: move unpack_object_header()
authorJonathan Tan <jonathantanmy@google.com>
Fri, 18 Aug 2017 22:20:29 +0000 (15:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Aug 2017 22:12:07 +0000 (15:12 -0700)
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
packfile.c
packfile.h
sha1_file.c

diff --git a/cache.h b/cache.h
index fe2d90b772ee88dcc82ca49e2a3aa6f51aedb7dd..4818f25597a47d3a7f74e544c7c1f814dede98b9 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -1663,7 +1663,6 @@ extern off_t find_pack_entry_one(const unsigned char *sha1, struct packed_git *)
 
 extern int is_pack_valid(struct packed_git *);
 extern void *unpack_entry(struct packed_git *, off_t, enum object_type *, unsigned long *);
-extern int unpack_object_header(struct packed_git *, struct pack_window **, off_t *, unsigned long *);
 
 /*
  * Iterate over the files in the loose-object parts of the object
index 9e0bbf5a0e977f2e2c5eccb3f2063849f82d8c13..d4a78b1ac907d47bcab3e85ac568a6956b6a1280 100644 (file)
@@ -949,3 +949,29 @@ unsigned long get_size_from_delta(struct packed_git *p,
        /* Read the result size */
        return get_delta_hdr_size(&data, delta_head+sizeof(delta_head));
 }
+
+int unpack_object_header(struct packed_git *p,
+                        struct pack_window **w_curs,
+                        off_t *curpos,
+                        unsigned long *sizep)
+{
+       unsigned char *base;
+       unsigned long left;
+       unsigned long used;
+       enum object_type type;
+
+       /* use_pack() assures us we have [base, base + 20) available
+        * as a range that we can look at.  (Its actually the hash
+        * size that is assured.)  With our object header encoding
+        * the maximum deflated object size is 2^137, which is just
+        * insane, so we know won't exceed what we have been given.
+        */
+       base = use_pack(p, w_curs, *curpos, &left);
+       used = unpack_object_header_buffer(base, left, &type, sizep);
+       if (!used) {
+               type = OBJ_BAD;
+       } else
+               *curpos += used;
+
+       return type;
+}
index c2ae717d4cdec3b0b7c7a6712fff7b58709f39b7..ca76fbf5b07e3e6c49797b508c4c8ed358049ea2 100644 (file)
@@ -64,6 +64,7 @@ extern struct packed_git *add_packed_git(const char *path, size_t path_len, int
 
 extern unsigned long unpack_object_header_buffer(const unsigned char *buf, unsigned long len, enum object_type *type, unsigned long *sizep);
 extern unsigned long get_size_from_delta(struct packed_git *, struct pack_window **, off_t);
+extern int unpack_object_header(struct packed_git *, struct pack_window **, off_t *, unsigned long *);
 
 extern void release_pack_memory(size_t);
 
index 38c1084560950d6d54798fbe0938cca524f955fb..ccf225f055f8d1ee0f8a35c6362a058ec77b7efc 100644 (file)
@@ -1172,32 +1172,6 @@ static const unsigned char *get_delta_base_sha1(struct packed_git *p,
                return NULL;
 }
 
-int unpack_object_header(struct packed_git *p,
-                        struct pack_window **w_curs,
-                        off_t *curpos,
-                        unsigned long *sizep)
-{
-       unsigned char *base;
-       unsigned long left;
-       unsigned long used;
-       enum object_type type;
-
-       /* use_pack() assures us we have [base, base + 20) available
-        * as a range that we can look at.  (Its actually the hash
-        * size that is assured.)  With our object header encoding
-        * the maximum deflated object size is 2^137, which is just
-        * insane, so we know won't exceed what we have been given.
-        */
-       base = use_pack(p, w_curs, *curpos, &left);
-       used = unpack_object_header_buffer(base, left, &type, sizep);
-       if (!used) {
-               type = OBJ_BAD;
-       } else
-               *curpos += used;
-
-       return type;
-}
-
 static int retry_bad_packed_offset(struct packed_git *p, off_t obj_offset)
 {
        int type;