sha1_file.c: expose helpers to read loose objects

Make map_sha1_file(), parse_sha1_header() and unpack_sha1_header() available to the streaming read API by exporting them via cache.h header file. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed May 14, 2011 at 19:42 UTC f0270efd460e5ee28dca8481181f1ac1ed4111d1
2 files changed +6 -3
cache.h
+3
@@ -780,6 +780,9 @@ extern int hash_sha1_file(const void *buf, unsigned long len, const char *type,
780 extern int write_sha1_file(const void *buf, unsigned long len, const char *type, unsigned char *return_sha1);
781 extern int pretend_sha1_file(void *, unsigned long, enum object_type, unsigned char *);
782 extern int force_object_loose(const unsigned char *sha1, time_t mtime);
783 +extern void *map_sha1_file(const unsigned char *sha1, unsigned long *size);
784 +extern int unpack_sha1_header(z_stream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz);
785 +extern int parse_sha1_header(const char *hdr, unsigned long *sizep);
786
787 /* global flag to enable extra checks when accessing packed objects */
788 extern int do_check_packed_object_crc;
sha1_file.c
+3 -3
@@ -1186,7 +1186,7 @@ static int open_sha1_file(const unsigned char *sha1)
1186 return -1;
1187 }
1188
1189 -static void *map_sha1_file(const unsigned char *sha1, unsigned long *size)
1189 +void *map_sha1_file(const unsigned char *sha1, unsigned long *size)
1190 {
1191 void *map;
1192 int fd;
@@ -1245,7 +1245,7 @@ unsigned long unpack_object_header_buffer(const unsigned char *buf,
1245 return used;
1246 }
1247
1248 -static int unpack_sha1_header(z_stream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz)
1248 +int unpack_sha1_header(z_stream *stream, unsigned char *map, unsigned long mapsize, void *buffer, unsigned long bufsiz)
1249 {
1250 unsigned long size, used;
1251 static const char valid_loose_object_type[8] = {
@@ -1342,7 +1342,7 @@ static void *unpack_sha1_rest(z_stream *stream, void *buffer, unsigned long size
1342 * too permissive for what we want to check. So do an anal
1343 * object header parse by hand.
1344 */
1345 -static int parse_sha1_header(const char *hdr, unsigned long *sizep)
1345 +int parse_sha1_header(const char *hdr, unsigned long *sizep)
1346 {
1347 char type[10];
1348 int i;