diff options
| author | Vicent Marti <tanoku@gmail.com> | 2013-05-28 20:47:55 +0200 |
|---|---|---|
| committer | Vicent Marti <tanoku@gmail.com> | 2013-05-28 20:47:55 +0200 |
| commit | 56960b8396d3aef0b39f32aa7a9749202f925ada (patch) | |
| tree | 90148977efa5b5dd715ddc4e474732737320314e /src/branch.c | |
| parent | 2638a03affdf57c989f573d48afca3b849cb4c1f (diff) | |
| download | libgit2-56960b8396d3aef0b39f32aa7a9749202f925ada.tar.gz | |
Liike this
Diffstat (limited to 'src/branch.c')
| -rw-r--r-- | src/branch.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/branch.c b/src/branch.c index dd6dc68f4..84efadae1 100644 --- a/src/branch.c +++ b/src/branch.c @@ -131,28 +131,32 @@ int git_branch_foreach( void *payload) { git_reference_iterator *iter; - const char *name; + git_reference *ref; int error; if (git_reference_iterator_new(&iter, repo) < 0) return -1; - while ((error = git_reference_next(&name, iter)) == 0) { + while ((error = git_reference_next(&ref, iter)) == 0) { if (list_flags & GIT_BRANCH_LOCAL && - git__prefixcmp(name, GIT_REFS_HEADS_DIR) == 0) { - if (callback(name + strlen(GIT_REFS_HEADS_DIR), GIT_BRANCH_LOCAL, payload)) { + 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; } } if (list_flags & GIT_BRANCH_REMOTE && - git__prefixcmp(name, GIT_REFS_REMOTES_DIR) == 0) { - if (callback(name + strlen(GIT_REFS_REMOTES_DIR), GIT_BRANCH_REMOTE, payload)) { + git__prefixcmp(ref->name, GIT_REFS_REMOTES_DIR) == 0) { + if (callback(ref->name + strlen(GIT_REFS_REMOTES_DIR), + GIT_BRANCH_REMOTE, payload)) { error = GIT_EUSER; break; } } + + git_reference_free(ref); } if (error == GIT_ITEROVER) @@ -160,7 +164,6 @@ int git_branch_foreach( git_reference_iterator_free(iter); return error; - } int git_branch_move( |
