diff options
Diffstat (limited to 'src/branch.c')
| -rw-r--r-- | src/branch.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/branch.c b/src/branch.c index de38e3355..590cdc027 100644 --- a/src/branch.c +++ b/src/branch.c @@ -132,18 +132,17 @@ int git_branch_foreach( { git_reference_iterator *iter; git_reference *ref; - int error; + int error = 0; if (git_reference_iterator_new(&iter, repo) < 0) return -1; - while ((error = git_reference_next(&ref, iter)) == 0) { + while (!error && (error = git_reference_next(&ref, iter)) == 0) { if (list_flags & GIT_BRANCH_LOCAL && git__prefixcmp(ref->name, GIT_REFS_HEADS_DIR) == 0) { if (callback(ref->name + strlen(GIT_REFS_HEADS_DIR), GIT_BRANCH_LOCAL, payload)) { error = GIT_EUSER; - break; } } @@ -152,7 +151,6 @@ int git_branch_foreach( if (callback(ref->name + strlen(GIT_REFS_REMOTES_DIR), GIT_BRANCH_REMOTE, payload)) { error = GIT_EUSER; - break; } } |
