summaryrefslogtreecommitdiff
path: root/src/util/array.h
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2023-05-09 20:38:04 +0100
committerGitHub <noreply@github.com>2023-05-09 20:38:04 +0100
commit2bbcdee6b666f34e83d1cf9ca9badc66258202d6 (patch)
tree26a9d405c75564de8e1a3dc8ac4dc1c8ec7421f7 /src/util/array.h
parent251408cfd4ff8112efaa5c82ec81c9574c4bf022 (diff)
parent437c5f5a0b6ae6068168081ac6422dba44cff31d (diff)
downloadlibgit2-2bbcdee6b666f34e83d1cf9ca9badc66258202d6.tar.gz
Merge pull request #6557 from libgit2/ethomson/shallow
Shallow (#6396) with some fixes from review
Diffstat (limited to 'src/util/array.h')
-rw-r--r--src/util/array.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/util/array.h b/src/util/array.h
index cbab52ad1..633d598ee 100644
--- a/src/util/array.h
+++ b/src/util/array.h
@@ -33,6 +33,9 @@
#define git_array_init_to_size(a, desired) \
do { (a).size = 0; (a).asize = desired; (a).ptr = git__calloc(desired, sizeof(*(a).ptr)); } while (0)
+#define git_array_dispose(a) \
+ do { git__free((a).ptr); } while (0)
+
#define git_array_clear(a) \
do { git__free((a).ptr); git_array_init(a); } while (0)
@@ -85,12 +88,14 @@ on_oom:
#define git_array_foreach(a, i, element) \
for ((i) = 0; (i) < (a).size && ((element) = &(a).ptr[(i)]); (i)++)
+typedef int (*git_array_compare_cb)(const void *, const void *);
+
GIT_INLINE(int) git_array__search(
size_t *out,
void *array_ptr,
size_t item_size,
size_t array_len,
- int (*compare)(const void *, const void *),
+ git_array_compare_cb compare,
const void *key)
{
size_t lim;