int safe_create_leading_directories(char *path);
/* Read and unpack a sha1 file into memory, write memory to a sha1 file */
-extern void * map_sha1_file(const unsigned char *sha1, unsigned long *size);
extern int unpack_sha1_header(z_stream *stream, void *map, unsigned long mapsize, void *buffer, unsigned long size);
extern int parse_sha1_header(char *hdr, char *type, unsigned long *sizep);
extern int sha1_object_info(const unsigned char *, char *, unsigned long *);
}
static void *map_sha1_file_internal(const unsigned char *sha1,
- unsigned long *size,
- int say_error)
+ unsigned long *size)
{
struct stat st;
void *map;
char *filename = find_sha1_file(sha1, &st);
if (!filename) {
- if (say_error)
- error("cannot map sha1 file %s", sha1_to_hex(sha1));
return NULL;
}
break;
/* Fallthrough */
case 0:
- if (say_error)
- perror(filename);
return NULL;
}
return map;
}
-void *map_sha1_file(const unsigned char *sha1, unsigned long *size)
-{
- return map_sha1_file_internal(sha1, size, 1);
-}
-
int unpack_sha1_header(z_stream *stream, void *map, unsigned long mapsize, void *buffer, unsigned long size)
{
/* Get the data stream */
z_stream stream;
char hdr[128];
- map = map_sha1_file_internal(sha1, &mapsize, 0);
+ map = map_sha1_file_internal(sha1, &mapsize);
if (!map) {
struct pack_entry e;
unsigned long mapsize;
void *map, *buf;
- map = map_sha1_file_internal(sha1, &mapsize, 0);
+ map = map_sha1_file_internal(sha1, &mapsize);
if (map) {
buf = unpack_sha1_file(map, mapsize, type, size);
munmap(map, mapsize);
ssize_t size;
unsigned long objsize;
int posn = 0;
- char *buf = map_sha1_file_internal(sha1, &objsize, 0);
+ char *buf = map_sha1_file_internal(sha1, &objsize);
z_stream stream;
if (!buf) {
unsigned char *unpacked;