summaryrefslogtreecommitdiff
path: root/object-file.c
diff options
context:
space:
mode:
authorLibravatar Ævar Arnfjörð Bjarmason <avarab@gmail.com>2022-02-05 00:48:34 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2022-02-25 17:16:32 -0800
commit6aea6baeb3ece6c832dbdf1deed09f41aebf85c2 (patch)
treebcfb7909cdbe80e78dbe3cc4281b1a7a777a473b /object-file.c
parentobject-file.c: add a literal version of write_object_file_prepare() (diff)
downloadtgif-6aea6baeb3ece6c832dbdf1deed09f41aebf85c2.tar.xz
object-file API: pass an enum to read_object_with_reference()
Change the read_object_with_reference() function to take an "enum object_type". It was not prepared to handle an arbitrary "const char *type", as it was itself calling type_from_string(). Let's change the only caller that passes in user data to use type_from_string(), and convert the rest to use e.g. "OBJ_TREE" instead of "tree_type". The "cat-file" caller is not on the codepath that handles"--allow-unknown", so the type_from_string() there is safe. Its use of type_from_string() doesn't functionally differ from that of the pre-image. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'object-file.c')
-rw-r--r--object-file.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/object-file.c b/object-file.c
index c75c12dd0b..6cbdb836cb 100644
--- a/object-file.c
+++ b/object-file.c
@@ -1737,16 +1737,15 @@ void *read_object_file_extended(struct repository *r,
void *read_object_with_reference(struct repository *r,
const struct object_id *oid,
- const char *required_type_name,
+ enum object_type required_type,
unsigned long *size,
struct object_id *actual_oid_return)
{
- enum object_type type, required_type;
+ enum object_type type;
void *buffer;
unsigned long isize;
struct object_id actual_oid;
- required_type = type_from_string(required_type_name);
oidcpy(&actual_oid, oid);
while (1) {
int ref_length = -1;