diff options
| author | Russell Belfer <rb@github.com> | 2012-08-03 17:24:59 -0700 |
|---|---|---|
| committer | Russell Belfer <rb@github.com> | 2012-08-03 17:24:59 -0700 |
| commit | b0d376695e7d3f71fed97d9d08b60661faad7a5a (patch) | |
| tree | afc63d89624a88be2a97069e0a1ceb2fe95fe783 /src | |
| parent | 5dca201072724e4230141796d7c9f8836a277de8 (diff) | |
| download | libgit2-b0d376695e7d3f71fed97d9d08b60661faad7a5a.tar.gz | |
Add new iteration behavior to git_tree_walk
Missed this one, ironically enough.
Diffstat (limited to 'src')
| -rw-r--r-- | src/tree.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/tree.c b/src/tree.c index 422e62b28..2e6153ba0 100644 --- a/src/tree.c +++ b/src/tree.c @@ -787,9 +787,10 @@ static int tree_walk( for (i = 0; i < tree->entries.length; ++i) { git_tree_entry *entry = tree->entries.contents[i]; - if (preorder && - (error = callback(path->ptr, entry, payload)) != 0) + if (preorder && callback(path->ptr, entry, payload)) { + error = GIT_EUSER; break; + } if (git_tree_entry__is_tree(entry)) { git_tree *subtree; @@ -814,9 +815,10 @@ static int tree_walk( git_tree_free(subtree); } - if (!preorder && - (error = callback(path->ptr, entry, payload)) != 0) + if (!preorder && callback(path->ptr, entry, payload)) { + error = GIT_EUSER; break; + } } return error; |
