diff options
Diffstat (limited to 'src/iterator.h')
-rw-r--r-- | src/iterator.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/iterator.h b/src/iterator.h index 77ead76cc..07cce5a5a 100644 --- a/src/iterator.h +++ b/src/iterator.h @@ -28,32 +28,33 @@ typedef enum { struct git_iterator { git_iterator_type_t type; + git_repository *repo; char *start; char *end; + bool ignore_case; + int (*current)(git_iterator *, const git_index_entry **); int (*at_end)(git_iterator *); int (*advance)(git_iterator *, const git_index_entry **); int (*seek)(git_iterator *, const char *prefix); int (*reset)(git_iterator *); void (*free)(git_iterator *); - unsigned int ignore_case:1; }; extern int git_iterator_for_nothing(git_iterator **iter); extern int git_iterator_for_tree_range( - git_iterator **iter, git_repository *repo, git_tree *tree, + git_iterator **iter, git_tree *tree, const char *start, const char *end); GIT_INLINE(int) git_iterator_for_tree( - git_iterator **iter, git_repository *repo, git_tree *tree) + git_iterator **iter, git_tree *tree) { - return git_iterator_for_tree_range(iter, repo, tree, NULL, NULL); + return git_iterator_for_tree_range(iter, tree, NULL, NULL); } extern int git_iterator_for_index_range( - git_iterator **iter, git_index *index, - const char *start, const char *end); + git_iterator **iter, git_index *index, const char *start, const char *end); GIT_INLINE(int) git_iterator_for_index( git_iterator **iter, git_index *index) @@ -90,7 +91,8 @@ GIT_INLINE(int) git_iterator_spoolandsort( git_iterator **iter, git_iterator *towrap, git_vector_cmp comparer, bool ignore_case) { - return git_iterator_spoolandsort_range(iter, towrap, comparer, ignore_case, NULL, NULL); + return git_iterator_spoolandsort_range( + iter, towrap, comparer, ignore_case, NULL, NULL); } /* Entry is not guaranteed to be fully populated. For a tree iterator, @@ -149,6 +151,11 @@ GIT_INLINE(git_iterator_type_t) git_iterator_type(git_iterator *iter) return iter->type; } +GIT_INLINE(git_repository *) git_iterator_owner(git_iterator *iter) +{ + return iter->repo; +} + extern int git_iterator_current_tree_entry( git_iterator *iter, const git_tree_entry **tree_entry); |