int refs_for_each_reflog(struct ref_store *refs, each_ref_fn fn, void *cb_data) { struct ref_iterator *iter; iter = refs->be->reflog_iterator_begin(refs); return do_for_each_ref_iterator(iter, fn, cb_data); }
/* * Call fn for each reference in the specified submodule for which the * refname begins with prefix. If trim is non-zero, then trim that * many characters off the beginning of each refname before passing * the refname to fn. flags can be DO_FOR_EACH_INCLUDE_BROKEN to * include broken references in the iteration. If fn ever returns a * non-zero value, stop the iteration and return that value; * otherwise, return 0. */ static int do_for_each_ref(const char *submodule, const char *prefix, each_ref_fn fn, int trim, int flags, void *cb_data) { struct ref_iterator *iter; iter = files_ref_iterator_begin(submodule, prefix, flags); iter = prefix_ref_iterator_begin(iter, prefix, trim); return do_for_each_ref_iterator(iter, fn, cb_data); }
/* * Call fn for each reference in the specified submodule for which the * refname begins with prefix. If trim is non-zero, then trim that * many characters off the beginning of each refname before passing * the refname to fn. flags can be DO_FOR_EACH_INCLUDE_BROKEN to * include broken references in the iteration. If fn ever returns a * non-zero value, stop the iteration and return that value; * otherwise, return 0. */ static int do_for_each_ref(struct ref_store *refs, const char *prefix, each_ref_fn fn, int trim, int flags, void *cb_data) { struct ref_iterator *iter; if (!refs) return 0; iter = refs->be->iterator_begin(refs, prefix, flags); iter = prefix_ref_iterator_begin(iter, prefix, trim); return do_for_each_ref_iterator(iter, fn, cb_data); }