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>
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;
break;
}
}
- strbuf_release(&dummy);
}
void repo_format_commit_message(struct repository *r,