Fix missing return values and some error tests for empty index files
[git/git.git] / cache.h
diff --git a/cache.h b/cache.h
index 98a32a9..900824a 100644 (file)
--- a/cache.h
+++ b/cache.h
@@ -7,6 +7,7 @@
 #include <stddef.h>
 #include <stdlib.h>
 #include <stdarg.h>
+#include <string.h>
 #include <errno.h>
 #include <sys/mman.h>
 
@@ -55,7 +56,7 @@ struct cache_entry {
        unsigned int st_size;
        unsigned char sha1[20];
        unsigned short namelen;
-       unsigned char name[0];
+       char name[0];
 };
 
 const char *sha1_file_directory;
@@ -80,8 +81,11 @@ extern char *sha1_file_name(unsigned char *sha1);
 extern int write_sha1_buffer(unsigned char *sha1, void *buf, unsigned int size);
 
 /* Read and unpack a sha1 file into memory, write memory to a sha1 file */
+extern void * map_sha1_file(unsigned char *sha1, unsigned long *size);
+extern void * unpack_sha1_file(void *map, unsigned long mapsize, char *type, unsigned long *size);
 extern void * read_sha1_file(unsigned char *sha1, char *type, unsigned long *size);
 extern int write_sha1_file(char *buf, unsigned len);
+extern int check_sha1_signature(unsigned char *sha1, void *buf, unsigned long size);
 
 /* Convert to/from hex/sha1 representation */
 extern int get_sha1_hex(char *hex, unsigned char *sha1);