diff options
| author | Junio C Hamano <gitster@pobox.com> | 2011-05-29 23:51:22 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2011-05-29 23:51:22 -0700 |
| commit | 01f9ffbd5d3f480c9a524780d86fa0d4134841af (patch) | |
| tree | 40a47451f2a72180a1497fca3ac157ff1f114226 /sha1-array.h | |
| parent | a9930e359c45302f92639e8cd0a61c9c912e0b22 (diff) | |
| parent | cff38a5e11217dc997c1ffae8d0856023e05554a (diff) | |
| download | git-01f9ffbd5d3f480c9a524780d86fa0d4134841af.tar.xz | |
Merge branch 'jk/haves-from-alternate-odb'
* jk/haves-from-alternate-odb:
receive-pack: eliminate duplicate .have refs
bisect: refactor sha1_array into a generic sha1 list
refactor refs_from_alternate_cb to allow passing extra data
Diffstat (limited to 'sha1-array.h')
| -rw-r--r-- | sha1-array.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sha1-array.h b/sha1-array.h new file mode 100644 index 0000000000..4499b5dad4 --- /dev/null +++ b/sha1-array.h @@ -0,0 +1,24 @@ +#ifndef SHA1_ARRAY_H +#define SHA1_ARRAY_H + +struct sha1_array { + unsigned char (*sha1)[20]; + int nr; + int alloc; + int sorted; +}; + +#define SHA1_ARRAY_INIT { NULL, 0, 0, 0 } + +void sha1_array_append(struct sha1_array *array, const unsigned char *sha1); +void sha1_array_sort(struct sha1_array *array); +int sha1_array_lookup(struct sha1_array *array, const unsigned char *sha1); +void sha1_array_clear(struct sha1_array *array); + +typedef void (*for_each_sha1_fn)(const unsigned char sha1[20], + void *data); +void sha1_array_for_each_unique(struct sha1_array *array, + for_each_sha1_fn fn, + void *data); + +#endif /* SHA1_ARRAY_H */ |
