mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-11 18:17:54 +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);
|
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)
|
static void tree_iterator_clear(tree_iterator *iter)
|
||||||
{
|
{
|
||||||
while (iter->frames.size)
|
while (iter->frames.size)
|
||||||
@ -1143,7 +1152,7 @@ int git_iterator_for_tree(
|
|||||||
tree_iterator_current,
|
tree_iterator_current,
|
||||||
tree_iterator_advance,
|
tree_iterator_advance,
|
||||||
tree_iterator_advance_into,
|
tree_iterator_advance_into,
|
||||||
NULL, /* advance_over */
|
tree_iterator_advance_over,
|
||||||
tree_iterator_reset,
|
tree_iterator_reset,
|
||||||
tree_iterator_reset_range,
|
tree_iterator_reset_range,
|
||||||
tree_iterator_at_end,
|
tree_iterator_at_end,
|
||||||
|
@ -217,11 +217,7 @@ GIT_INLINE(int) git_iterator_advance_over(
|
|||||||
git_iterator_status_t *status,
|
git_iterator_status_t *status,
|
||||||
git_iterator *iter)
|
git_iterator *iter)
|
||||||
{
|
{
|
||||||
if (iter->cb->advance_over)
|
return iter->cb->advance_over(entry, status, iter);
|
||||||
return iter->cb->advance_over(entry, status, iter);
|
|
||||||
|
|
||||||
*status = GIT_ITERATOR_STATUS_NORMAL;
|
|
||||||
return git_iterator_advance(entry, iter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user