summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/git2/odb.h5
-rw-r--r--include/git2/odb_backend.h11
-rw-r--r--src/odb_loose.c4
-rw-r--r--src/odb_pack.c2
-rw-r--r--src/pack.c2
-rw-r--r--src/pack.h2
-rw-r--r--tests-clar/odb/foreach.c4
7 files changed, 16 insertions, 14 deletions
diff --git a/include/git2/odb.h b/include/git2/odb.h
index d41c2fb52..f2633d11c 100644
--- a/include/git2/odb.h
+++ b/include/git2/odb.h
@@ -23,11 +23,6 @@
GIT_BEGIN_DECL
/**
- * Function type for callbacks from git_odb_foreach.
- */
-typedef int (*git_odb_foreach_cb)(git_oid *id, void *payload);
-
-/**
* Create a new object database with no backends.
*
* Before the ODB can be used for read/writing, a custom database
diff --git a/include/git2/odb_backend.h b/include/git2/odb_backend.h
index 694803efd..04658f9b3 100644
--- a/include/git2/odb_backend.h
+++ b/include/git2/odb_backend.h
@@ -24,7 +24,14 @@ GIT_BEGIN_DECL
struct git_odb_stream;
struct git_odb_writepack;
-/** An instance for a custom backend */
+/**
+ * Function type for callbacks from git_odb_foreach.
+ */
+typedef int (*git_odb_foreach_cb)(const git_oid *id, void *payload);
+
+/**
+ * An instance for a custom backend
+ */
struct git_odb_backend {
git_odb *odb;
@@ -79,7 +86,7 @@ struct git_odb_backend {
int (* foreach)(
struct git_odb_backend *,
- int (*cb)(git_oid *oid, void *payload),
+ git_odb_foreach_cb cb,
void *payload);
int (* writepack)(
diff --git a/src/odb_loose.c b/src/odb_loose.c
index 41121ae10..e2f1aec32 100644
--- a/src/odb_loose.c
+++ b/src/odb_loose.c
@@ -678,7 +678,7 @@ static int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)
struct foreach_state {
size_t dir_len;
- int (*cb)(git_oid *oid, void *data);
+ git_odb_foreach_cb cb;
void *data;
int cb_error;
};
@@ -734,7 +734,7 @@ static int foreach_cb(void *_state, git_buf *path)
return git_path_direach(path, foreach_object_dir_cb, state);
}
-static int loose_backend__foreach(git_odb_backend *_backend, int (*cb)(git_oid *oid, void *data), void *data)
+static int loose_backend__foreach(git_odb_backend *_backend, git_odb_foreach_cb cb, void *data)
{
char *objects_dir;
int error;
diff --git a/src/odb_pack.c b/src/odb_pack.c
index 9f7a6ee1f..35bf1580d 100644
--- a/src/odb_pack.c
+++ b/src/odb_pack.c
@@ -458,7 +458,7 @@ static int pack_backend__exists(git_odb_backend *backend, const git_oid *oid)
return pack_entry_find(&e, (struct pack_backend *)backend, oid) == 0;
}
-static int pack_backend__foreach(git_odb_backend *_backend, int (*cb)(git_oid *oid, void *data), void *data)
+static int pack_backend__foreach(git_odb_backend *_backend, git_odb_foreach_cb cb, void *data)
{
int error;
struct git_pack_file *p;
diff --git a/src/pack.c b/src/pack.c
index a2a2fbcd1..6cb46d37b 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -698,7 +698,7 @@ static int git__memcmp4(const void *a, const void *b) {
int git_pack_foreach_entry(
struct git_pack_file *p,
- int (*cb)(git_oid *oid, void *data),
+ git_odb_foreach_cb cb,
void *data)
{
const unsigned char *index = p->index_map.data, *current;
diff --git a/src/pack.h b/src/pack.h
index af87b7cd5..9fb26b6a9 100644
--- a/src/pack.h
+++ b/src/pack.h
@@ -105,7 +105,7 @@ int git_pack_entry_find(
size_t len);
int git_pack_foreach_entry(
struct git_pack_file *p,
- int (*cb)(git_oid *oid, void *data),
+ git_odb_foreach_cb cb,
void *data);
#endif
diff --git a/tests-clar/odb/foreach.c b/tests-clar/odb/foreach.c
index bf52cc1b5..37158d458 100644
--- a/tests-clar/odb/foreach.c
+++ b/tests-clar/odb/foreach.c
@@ -16,7 +16,7 @@ void test_odb_foreach__cleanup(void)
_repo = NULL;
}
-static int foreach_cb(git_oid *oid, void *data)
+static int foreach_cb(const git_oid *oid, void *data)
{
GIT_UNUSED(data);
GIT_UNUSED(oid);
@@ -59,7 +59,7 @@ void test_odb_foreach__one_pack(void)
cl_assert(nobj == 1628);
}
-static int foreach_stop_cb(git_oid *oid, void *data)
+static int foreach_stop_cb(const git_oid *oid, void *data)
{
GIT_UNUSED(data);
GIT_UNUSED(oid);