X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=cache.h;h=ed83d92c5a2735b2b7f8a7fc06276acbf0df8b18;hb=0cae23467ada9b94210a0e770064841efea8ad40;hp=5e7381eb1ea5f5fa8f4e70b15bc50f45ca616d39;hpb=03545396ef355f79c73de1ebcd9e22d3c9f5ade4;p=git.git diff --git a/cache.h b/cache.h index 5e7381eb1..ed83d92c5 100644 --- a/cache.h +++ b/cache.h @@ -225,6 +225,24 @@ extern void verify_non_filename(const char *prefix, const char *name); #define alloc_nr(x) (((x)+16)*3/2) +/* + * Realloc the buffer pointed at by variable 'x' so that it can hold + * at least 'nr' entries; the number of entries currently allocated + * is 'alloc', using the standard growing factor alloc_nr() macro. + * + * DO NOT USE any expression with side-effect for 'x' or 'alloc'. + */ +#define ALLOC_GROW(x, nr, alloc) \ + do { \ + if ((nr) > alloc) { \ + if (alloc_nr(alloc) < (nr)) \ + alloc = (nr); \ + else \ + alloc = alloc_nr(alloc); \ + x = xrealloc((x), alloc * sizeof(*(x))); \ + } \ + } while(0) + /* Initialize and use the cache information */ extern int read_index(struct index_state *); extern int read_index_from(struct index_state *, const char *path); @@ -354,7 +372,6 @@ extern int move_temp_to_file(const char *tmpfile, const char *filename); extern int has_sha1_pack(const unsigned char *sha1, const char **ignore); extern int has_sha1_file(const unsigned char *sha1); -extern void *map_sha1_file(const unsigned char *sha1, unsigned long *); extern int has_pack_file(const unsigned char *sha1); extern int has_pack_index(const unsigned char *sha1);