Commit bcf21c556c2bbc46a93e81a19c5f9112dfb8f2c8

Carlos Martín Nieto 2011-07-28T23:59:53

Add git_vector_foreach You can use it just as you'd use a for-loop Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/vector.h b/src/vector.h
index 76778ba..c43a7ce 100644
--- a/src/vector.h
+++ b/src/vector.h
@@ -30,6 +30,9 @@ GIT_INLINE(void *) git_vector_get(git_vector *v, unsigned int position)
 	return (position < v->length) ? v->contents[position] : NULL;
 }
 
+#define git_vector_foreach(v, iter, elem)	\
+	for ((iter) = 0; (iter) < (v)->length && ((elem) = (v)->contents[(iter)], 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);