]> git.ipfire.org Git - thirdparty/git.git/commitdiff
repo: factor out field printing to dedicated function
authorLucas Seiki Oshiro <lucasseikioshiro@gmail.com>
Sun, 26 Oct 2025 22:52:07 +0000 (19:52 -0300)
committerJunio C Hamano <gitster@pobox.com>
Sun, 26 Oct 2025 23:35:12 +0000 (16:35 -0700)
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 <lucasseikioshiro@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/repo.c

index bbb0966f2d2284d146c0dad629cdbe019122f8d0..3b071e9a50f2e9e61c17951c54ea4da396c8dc41 100644 (file)
@@ -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(&quotbuf);
-
                get_value(repo, &valbuf);
-
-               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);
-               }
+               print_field(format, key, &valbuf, &quotbuf);
        }
 
        strbuf_release(&valbuf);