diff options
| author | Jeff King <peff@peff.net> | 2025-05-16 00:49:47 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-05-16 09:43:10 -0700 |
| commit | aac2abeca7077aa5f87f4132b98d37dd938b3573 (patch) | |
| tree | 56beec1c1092a866dfb13ce869e278be27c002ee | |
| parent | ae24b032a04ccd1565cb1ce13317b56daa77ce7f (diff) | |
| download | git-aac2abeca7077aa5f87f4132b98d37dd938b3573.tar.gz | |
cat-file: use type enum instead of buffer for -t option
Now that we no longer support OBJECT_INFO_ALLOW_UNKNOWN_TYPE, there is
no need to pass a strbuf into oid_object_info_extended() to record the
type. The regular object_type enum is sufficient to capture all of the
types we will allow.
This simplifies the code a bit, and will eventually let us drop
object_info's type_name strbuf support.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | builtin/cat-file.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/builtin/cat-file.c b/builtin/cat-file.c index 4adc19aa29..67a5ff2b9e 100644 --- a/builtin/cat-file.c +++ b/builtin/cat-file.c @@ -109,7 +109,6 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name) unsigned long size; struct object_context obj_context = {0}; struct object_info oi = OBJECT_INFO_INIT; - struct strbuf sb = STRBUF_INIT; unsigned flags = OBJECT_INFO_LOOKUP_REPLACE; unsigned get_oid_flags = GET_OID_RECORD_PATH | @@ -132,16 +131,12 @@ static int cat_one_file(int opt, const char *exp_type, const char *obj_name) buf = NULL; switch (opt) { case 't': - oi.type_name = &sb; + oi.typep = &type; if (oid_object_info_extended(the_repository, &oid, &oi, flags) < 0) die("git cat-file: could not get object info"); - if (sb.len) { - printf("%s\n", sb.buf); - strbuf_release(&sb); - ret = 0; - goto cleanup; - } - break; + printf("%s\n", type_name(type)); + ret = 0; + goto cleanup; case 's': oi.sizep = &size; |
