mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-08 01:20:53 +00:00
iterator: mandate advance_over
Since the three iterators implement `advance_over` differently, mandate it and implement each.
This commit is contained in:
parent
0ef0b71ca5
commit
247e3b4305
@ -1070,6 +1070,15 @@ static int tree_iterator_advance_into(
|
||||
return tree_iterator_advance(out, i);
|
||||
}
|
||||
|
||||
static int tree_iterator_advance_over(
|
||||
const git_index_entry **out,
|
||||
git_iterator_status_t *status,
|
||||
git_iterator *i)
|
||||
{
|
||||
*status = GIT_ITERATOR_STATUS_NORMAL;
|
||||
return git_iterator_advance(out, i);
|
||||
}
|
||||
|
||||
static void tree_iterator_clear(tree_iterator *iter)
|
||||
{
|
||||
while (iter->frames.size)
|
||||
@ -1143,7 +1152,7 @@ int git_iterator_for_tree(
|
||||
tree_iterator_current,
|
||||
tree_iterator_advance,
|
||||
tree_iterator_advance_into,
|
||||
NULL, /* advance_over */
|
||||
tree_iterator_advance_over,
|
||||
tree_iterator_reset,
|
||||
tree_iterator_reset_range,
|
||||
tree_iterator_at_end,
|
||||
|
@ -217,11 +217,7 @@ GIT_INLINE(int) git_iterator_advance_over(
|
||||
git_iterator_status_t *status,
|
||||
git_iterator *iter)
|
||||
{
|
||||
if (iter->cb->advance_over)
|
||||
return iter->cb->advance_over(entry, status, iter);
|
||||
|
||||
*status = GIT_ITERATOR_STATUS_NORMAL;
|
||||
return git_iterator_advance(entry, iter);
|
||||
return iter->cb->advance_over(entry, status, iter);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user