mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
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>
This commit is contained in:
committed by
Junio C Hamano
parent
ae24b032a0
commit
aac2abeca7
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user