aboutsummaryrefslogtreecommitdiffstats
path: root/odb.c
diff options
context:
space:
mode:
Diffstat (limited to 'odb.c')
-rw-r--r--odb.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/odb.c b/odb.c
index 691a8c7c68..03fb68605c 100644
--- a/odb.c
+++ b/odb.c
@@ -494,8 +494,8 @@ static void fill_alternate_refs_command(struct child_process *cmd,
}
static void read_alternate_refs(const char *path,
- alternate_ref_fn *cb,
- void *data)
+ odb_for_each_alternate_ref_fn *cb,
+ void *payload)
{
struct child_process cmd = CHILD_PROCESS_INIT;
struct strbuf line = STRBUF_INIT;
@@ -517,7 +517,7 @@ static void read_alternate_refs(const char *path,
break;
}
- cb(&oid, data);
+ cb(&oid, payload);
}
fclose(fh);
@@ -526,16 +526,16 @@ static void read_alternate_refs(const char *path,
}
struct alternate_refs_data {
- alternate_ref_fn *fn;
- void *data;
+ odb_for_each_alternate_ref_fn *fn;
+ void *payload;
};
static int refs_from_alternate_cb(struct odb_source *alternate,
- void *data)
+ void *payload)
{
struct strbuf path = STRBUF_INIT;
size_t base_len;
- struct alternate_refs_data *cb = data;
+ struct alternate_refs_data *cb = payload;
if (!strbuf_realpath(&path, alternate->path, 0))
goto out;
@@ -549,29 +549,31 @@ static int refs_from_alternate_cb(struct odb_source *alternate,
goto out;
strbuf_setlen(&path, base_len);
- read_alternate_refs(path.buf, cb->fn, cb->data);
+ read_alternate_refs(path.buf, cb->fn, cb->payload);
out:
strbuf_release(&path);
return 0;
}
-void for_each_alternate_ref(alternate_ref_fn fn, void *data)
+void odb_for_each_alternate_ref(struct object_database *odb,
+ odb_for_each_alternate_ref_fn cb, void *payload)
{
- struct alternate_refs_data cb;
- cb.fn = fn;
- cb.data = data;
- foreach_alt_odb(refs_from_alternate_cb, &cb);
+ struct alternate_refs_data data;
+ data.fn = cb;
+ data.payload = payload;
+ odb_for_each_alternate(odb, refs_from_alternate_cb, &data);
}
-int foreach_alt_odb(alt_odb_fn fn, void *cb)
+int odb_for_each_alternate(struct object_database *odb,
+ odb_for_each_alternate_fn cb, void *payload)
{
struct odb_source *alternate;
int r = 0;
- odb_prepare_alternates(the_repository->objects);
- for (alternate = the_repository->objects->sources->next; alternate; alternate = alternate->next) {
- r = fn(alternate, cb);
+ odb_prepare_alternates(odb);
+ for (alternate = odb->sources->next; alternate; alternate = alternate->next) {
+ r = cb(alternate, payload);
if (r)
break;
}