diff options
author | Russell Belfer <arrbee@arrbee.com> | 2011-12-16 10:56:43 -0800 |
---|---|---|
committer | Russell Belfer <arrbee@arrbee.com> | 2011-12-20 16:32:58 -0800 |
commit | ee1f0b1aed7798908d9e038b006b66f868613fc3 (patch) | |
tree | c60350029b9e4bb14811ac13caf59ad86424f33e /src/vector.h | |
parent | be00b00dd1468f1c625ca3fadc61f2a16edfb8d5 (diff) | |
download | libgit2-ee1f0b1aed7798908d9e038b006b66f868613fc3.tar.gz |
Add APIs for git attributes
This adds APIs for querying git attributes. In addition to
the new API in include/git2/attr.h, most of the action is in
src/attr_file.[hc] which contains utilities for dealing with
a single attributes file, and src/attr.[hc] which contains
the implementation of the APIs that merge all applicable
attributes files.
Diffstat (limited to 'src/vector.h')
-rw-r--r-- | src/vector.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vector.h b/src/vector.h index 08f5a501c..4c053e6ae 100644 --- a/src/vector.h +++ b/src/vector.h @@ -19,6 +19,8 @@ typedef struct git_vector { int sorted; } git_vector; +#define GIT_VECTOR_INIT {0} + int git_vector_init(git_vector *v, unsigned int initial_size, git_vector_cmp cmp); void git_vector_free(git_vector *v); void git_vector_clear(git_vector *v); @@ -39,6 +41,9 @@ GIT_INLINE(void *) git_vector_get(git_vector *v, unsigned int position) #define git_vector_foreach(v, iter, elem) \ for ((iter) = 0; (iter) < (v)->length && ((elem) = (v)->contents[(iter)], 1); (iter)++ ) +#define git_vector_rforeach(v, iter, elem) \ + for ((iter) = (v)->length; (iter) > 0 && ((elem) = (v)->contents[(iter)-1], 1); (iter)-- ) + int git_vector_insert(git_vector *v, void *element); int git_vector_remove(git_vector *v, unsigned int idx); void git_vector_uniq(git_vector *v); |