summaryrefslogtreecommitdiff
path: root/src/tree.c
diff options
context:
space:
mode:
authorwilke <wilke.havinga@quintiq.com>2013-09-13 21:21:33 +0200
committerwilke <wilke.havinga@quintiq.com>2013-09-13 21:21:33 +0200
commit4e01e3029b389dc45a040b794ceeeb0cbe32004a (patch)
tree74e03a7f9d98865a24d13cd971274aab104b6498 /src/tree.c
parent25803c632d2230c045d454ef8d86a34203e55aee (diff)
downloadlibgit2-4e01e3029b389dc45a040b794ceeeb0cbe32004a.tar.gz
Prevent git_tree_walk 'skip entry' callback return code from leaking through as the return value of git_tree_walk
Diffstat (limited to 'src/tree.c')
-rw-r--r--src/tree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tree.c b/src/tree.c
index f9469195a..cd8adfb96 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -881,8 +881,10 @@ static int tree_walk(
git_vector_foreach(&tree->entries, i, entry) {
if (preorder) {
error = callback(path->ptr, entry, payload);
- if (error > 0)
+ if (error > 0) {
+ error = 0;
continue;
+ }
if (error < 0) {
giterr_clear();
return GIT_EUSER;