path: root/builtin/cat-file.c
diff options
authorJeff King <>2016-09-26 12:00:29 (GMT)
committerJunio C Hamano <>2016-09-26 18:46:41 (GMT)
commit16ddcd403bdd74f47f3ae1a7e58a01e36e54a7d7 (patch)
treeb4d5e1936a7d013ef20107a1e4901650ea38d1df /builtin/cat-file.c
parent0c99171ad2f79430eb81214d3f1d8ced3d3621e3 (diff)
sha1_array: let callbacks interrupt iteration
The callbacks for iterating a sha1_array must have a void return. This is unlike our usual for_each semantics, where a callback may interrupt iteration and have its value propagated. Let's switch it to the usual form, which will enable its use in more places (e.g., where we are replacing an existing iteration with a different data structure). Signed-off-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'builtin/cat-file.c')
1 files changed, 2 insertions, 1 deletions
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 94e67eb..cca97a8 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -401,11 +401,12 @@ struct object_cb_data {
struct expand_data *expand;
-static void batch_object_cb(const unsigned char sha1[20], void *vdata)
+static int batch_object_cb(const unsigned char sha1[20], void *vdata)
struct object_cb_data *data = vdata;
hashcpy(data->expand->oid.hash, sha1);
batch_object_write(NULL, data->opt, data->expand);
+ return 0;
static int batch_loose_object(const unsigned char *sha1,