Prevent git_tree_walk 'skip entry' callback return code from leaking through as the return value of git_tree_walk
diff --git a/src/tree.c b/src/tree.c
index f946919..cd8adfb 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;