Message ID | 20191112103821.30265-4-szeder.dev@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | name-rev: eliminate recursion | expand |
Am 12.11.19 um 11:38 schrieb SZEDER Gábor: Thanks for keeping the ball rolling, Gábor! > From: René Scharfe <l.s.r@web.de> > > get_name_rev() basically open-codes strip_suffix() before adding a > string to a strbuf. > > Let's use the strbuf right from the beginning, i.e. add the whole > string to the strbuf and then use strbuf_strip_suffix(), making the > code more idiomatic. > > [TODO: René's signoff!] Signed-off-by: René Scharfe <l.s.r@web.de> > Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> > --- > builtin/name-rev.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/builtin/name-rev.c b/builtin/name-rev.c > index b0f0776947..15919adbdb 100644 > --- a/builtin/name-rev.c > +++ b/builtin/name-rev.c > @@ -321,11 +321,10 @@ static const char *get_rev_name(const struct object *o, struct strbuf *buf) > if (!n->generation) > return n->tip_name; > else { > - int len = strlen(n->tip_name); > - if (len > 2 && !strcmp(n->tip_name + len - 2, "^0")) > - len -= 2; > strbuf_reset(buf); > - strbuf_addf(buf, "%.*s~%d", len, n->tip_name, n->generation); > + strbuf_addstr(buf, n->tip_name); > + strbuf_strip_suffix(buf, "^0"); > + strbuf_addf(buf, "~%d", n->generation); > return buf->buf; > } > } >
diff --git a/builtin/name-rev.c b/builtin/name-rev.c index b0f0776947..15919adbdb 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -321,11 +321,10 @@ static const char *get_rev_name(const struct object *o, struct strbuf *buf) if (!n->generation) return n->tip_name; else { - int len = strlen(n->tip_name); - if (len > 2 && !strcmp(n->tip_name + len - 2, "^0")) - len -= 2; strbuf_reset(buf); - strbuf_addf(buf, "%.*s~%d", len, n->tip_name, n->generation); + strbuf_addstr(buf, n->tip_name); + strbuf_strip_suffix(buf, "^0"); + strbuf_addf(buf, "~%d", n->generation); return buf->buf; } }