]> git.ipfire.org Git - thirdparty/git.git/commitdiff
pretty: use strchr(3) in userformat_find_requirements()
authorRené Scharfe <l.s.r@web.de>
Fri, 7 Jul 2023 19:08:33 +0000 (21:08 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Jul 2023 22:32:57 +0000 (15:32 -0700)
The strbuf_expand_step() loop in userformat_find_requirements() iterates
through the percent signs in the string "fmt", but we're not interested
in its effect on the strbuf "dummy".  Use strchr(3) instead and get rid
of the strbuf that we no longer need.

Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pretty.c

index 4c08f9856be0301e3797d8072ed2f628f3287346..51ee7a5f126a897f5da1827f80147291264aba1b 100644 (file)
--- a/pretty.c
+++ b/pretty.c
@@ -1873,14 +1873,13 @@ static size_t format_commit_item(struct strbuf *sb, /* in UTF-8 */
 
 void userformat_find_requirements(const char *fmt, struct userformat_want *w)
 {
-       struct strbuf dummy = STRBUF_INIT;
-
        if (!fmt) {
                if (!user_format)
                        return;
                fmt = user_format;
        }
-       while (strbuf_expand_step(&dummy, &fmt)) {
+       while ((fmt = strchr(fmt, '%'))) {
+               fmt++;
                if (skip_prefix(fmt, "%", &fmt))
                        continue;
 
@@ -1900,7 +1899,6 @@ void userformat_find_requirements(const char *fmt, struct userformat_want *w)
                        break;
                }
        }
-       strbuf_release(&dummy);
 }
 
 void repo_format_commit_message(struct repository *r,