summaryrefslogtreecommitdiff
path: root/sha1-name.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2019-10-07 02:32:59 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-10-07 02:33:00 (GMT)
commit337e3f2b49a954d1c3279fe71990cac8a4dfd447 (patch)
tree2fe3664c52e360c07b99ad1c348c9ee001144e2a /sha1-name.c
parent8f53fe1733bbfbebc5e8dce087b8229165d1c4bf (diff)
parent4b3aa170d14279aaf40db95bf3d93d43099e9614 (diff)
downloadgit-337e3f2b49a954d1c3279fe71990cac8a4dfd447.zip
git-337e3f2b49a954d1c3279fe71990cac8a4dfd447.tar.gz
git-337e3f2b49a954d1c3279fe71990cac8a4dfd447.tar.bz2
Merge branch 'rs/nth-switch-code-simplification'
Code simplification. * rs/nth-switch-code-simplification: sha1_name: simplify strbuf handling in interpret_nth_prior_checkout()
Diffstat (limited to 'sha1-name.c')
-rw-r--r--sha1-name.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/sha1-name.c b/sha1-name.c
index 7a047e9..200eb37 100644
--- a/sha1-name.c
+++ b/sha1-name.c
@@ -1295,7 +1295,7 @@ static int get_oid_oneline(struct repository *r,
struct grab_nth_branch_switch_cbdata {
int remaining;
- struct strbuf buf;
+ struct strbuf *sb;
};
static int grab_nth_branch_switch(struct object_id *ooid, struct object_id *noid,
@@ -1313,8 +1313,8 @@ static int grab_nth_branch_switch(struct object_id *ooid, struct object_id *noid
return 0;
if (--(cb->remaining) == 0) {
len = target - match;
- strbuf_reset(&cb->buf);
- strbuf_add(&cb->buf, match, len);
+ strbuf_reset(cb->sb);
+ strbuf_add(cb->sb, match, len);
return 1; /* we are done */
}
return 0;
@@ -1347,18 +1347,15 @@ static int interpret_nth_prior_checkout(struct repository *r,
if (nth <= 0)
return -1;
cb.remaining = nth;
- strbuf_init(&cb.buf, 20);
+ cb.sb = buf;
retval = refs_for_each_reflog_ent_reverse(get_main_ref_store(r),
"HEAD", grab_nth_branch_switch, &cb);
if (0 < retval) {
- strbuf_reset(buf);
- strbuf_addbuf(buf, &cb.buf);
retval = brace - name + 1;
} else
retval = 0;
- strbuf_release(&cb.buf);
return retval;
}