diff options
author | Stefan Beller <sbeller@google.com> | 2017-10-03 15:17:40 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-10-04 15:21:31 +0900 |
commit | a9155c50bd52b7e27224e9588780ce5f972fa98d (patch) | |
tree | 4999bcda5bc7deb47543e53a283a08728fd77f8f /builtin | |
parent | 4010f1d1b782eb7585e0e0abcefa794bd5ff29a0 (diff) | |
download | git-a9155c50bd52b7e27224e9588780ce5f972fa98d.tar.gz |
branch: reset instead of release a strbufsb/branch-avoid-repeated-strbuf-release
Our documentation advises to not re-use a strbuf, after strbuf_release
has been called on it. Use the proper reset instead.
Currently 'strbuf_release' releases and re-initializes the strbuf, so it
is safe, but slow. 'strbuf_reset' only resets the internal length variable,
such that this could also be accounted for as a micro-optimization.
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/branch.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/builtin/branch.c b/builtin/branch.c index 16d391b407..2ea92a70b7 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -216,7 +216,7 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, if (!head_rev) die(_("Couldn't look up commit object for HEAD")); } - for (i = 0; i < argc; i++, strbuf_release(&bname)) { + for (i = 0; i < argc; i++, strbuf_reset(&bname)) { char *target = NULL; int flags = 0; @@ -281,8 +281,9 @@ static int delete_branches(int argc, const char **argv, int force, int kinds, } free(name); + strbuf_release(&bname); - return(ret); + return ret; } static int calc_maxwidth(struct ref_array *refs, int remote_bonus) |