]> git.ipfire.org Git - thirdparty/git.git/blobdiff - sha1_file.c
foreach_alt_odb: propagate return value from callback
[thirdparty/git.git] / sha1_file.c
index 6f18c22ab186ba2214b6bedcec0cddb92e750c51..aaa3c52869fdab5ca17872f43fd0354ccb55cb55 100644 (file)
@@ -412,14 +412,18 @@ void add_to_alternates_file(const char *reference)
                link_alt_odb_entries(alt, strlen(alt), '\n', NULL, 0);
 }
 
-void foreach_alt_odb(alt_odb_fn fn, void *cb)
+int foreach_alt_odb(alt_odb_fn fn, void *cb)
 {
        struct alternate_object_database *ent;
+       int r = 0;
 
        prepare_alt_odb();
-       for (ent = alt_odb_list; ent; ent = ent->next)
-               if (fn(ent, cb))
-                       return;
+       for (ent = alt_odb_list; ent; ent = ent->next) {
+               r = fn(ent, cb);
+               if (r)
+                       break;
+       }
+       return r;
 }
 
 void prepare_alt_odb(void)