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;