From: Lucas Seiki Oshiro Date: Sun, 26 Oct 2025 22:52:07 GMT Subject: [PATCH v3 1/2] repo: factor out field printing to dedicated function Message-ID: <20251026225409.46647-2-lucasseikioshiro@gmail.com> In-Reply-To: <20251026225409.46647-1-lucasseikioshiro@gmail.com> Move the field printing in git-repo-info to a new function called `print_field`, allowing it to be called by functions other than `print_fields`. Signed-off-by: Lucas Seiki Oshiro --- builtin/repo.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/builtin/repo.c b/builtin/repo.c index bbb0966f2d..3b071e9a50 100644 --- a/builtin/repo.c +++ b/builtin/repo.c @@ -77,6 +77,24 @@ static get_value_fn *get_value_fn_for_key(const char *key) return found ? found->get_value : NULL; } +static void print_field(enum output_format format, const char *key, + struct strbuf *valbuf, struct strbuf *quotbuf) +{ + strbuf_reset(quotbuf); + + switch (format) { + case FORMAT_KEYVALUE: + quote_c_style(valbuf->buf, quotbuf, NULL, 0); + printf("%s=%s\n", key, quotbuf->buf); + break; + case FORMAT_NUL_TERMINATED: + printf("%s\n%s%c", key, valbuf->buf, '\0'); + break; + default: + BUG("not a valid output format: %d", format); + } +} + static int print_fields(int argc, const char **argv, struct repository *repo, enum output_format format) @@ -97,21 +115,8 @@ static int print_fields(int argc, const char **argv, } strbuf_reset(&valbuf); - strbuf_reset("buf); - get_value(repo, &valbuf); - - switch (format) { - case FORMAT_KEYVALUE: - quote_c_style(valbuf.buf, "buf, NULL, 0); - printf("%s=%s\n", key, quotbuf.buf); - break; - case FORMAT_NUL_TERMINATED: - printf("%s\n%s%c", key, valbuf.buf, '\0'); - break; - default: - BUG("not a valid output format: %d", format); - } + print_field(format, key, &valbuf, "buf); } strbuf_release(&valbuf); -- 2.50.1 (Apple Git-155)