From 53ae12359d324890c4d30cc06bd2631ebdec43bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Mon, 13 Aug 2012 14:00:53 +0200 Subject: [PATCH] tree: bring back the documented behaviour for a walk However, there should be a way to cancel the walk and another to skip the entry. --- src/tree.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/tree.c b/src/tree.c index e5858b50e..911cbadcf 100644 --- a/src/tree.c +++ b/src/tree.c @@ -787,10 +787,8 @@ static int tree_walk( for (i = 0; i < tree->entries.length; ++i) { git_tree_entry *entry = tree->entries.contents[i]; - if (preorder && callback(path->ptr, entry, payload)) { - error = GIT_EUSER; - break; - } + if (preorder && callback(path->ptr, entry, payload) < 0) + continue if (git_tree_entry__is_tree(entry)) { git_tree *subtree;