ref-filter: merge get_obj and get_object
authorOlga Telezhnaya <olyatelezhnaya@gmail.com>
Tue, 17 Jul 2018 08:22:57 +0000 (08:22 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 Jul 2018 22:04:31 +0000 (15:04 -0700)
Inline get_obj(): it would be easier to edit the code
without this split.

Signed-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
ref-filter.c
index 8db7ca95b12c09bb780b214aa6ca58722a26a007..2b401a17c46898b8f22e607dff311e3aebd31a9a 100644 (file)
@@ -797,24 +797,6 @@ int verify_ref_format(struct ref_format *format)
        return 0;
 }
 
-/*
- * Given an object name, read the object data and size, and return a
- * "struct object".  If the object data we are returning is also borrowed
- * by the "struct object" representation, set *eaten as well---it is a
- * signal from parse_object_buffer to us not to free the buffer.
- */
-static void *get_obj(const struct object_id *oid, struct object **obj, unsigned long *sz, int *eaten)
-{
-       enum object_type type;
-       void *buf = read_object_file(oid, &type, sz);
-
-       if (buf)
-               *obj = parse_object_buffer(oid, type, *sz, buf, eaten);
-       else
-               *obj = NULL;
-       return buf;
-}
-
 static int grab_objectname(const char *name, const struct object_id *oid,
                           struct atom_value *v, struct used_atom *atom)
 {
@@ -1437,21 +1419,25 @@ static const char *get_refname(struct used_atom *atom, struct ref_array_item *re
 }
 
 static int get_object(struct ref_array_item *ref, const struct object_id *oid,
-                      int deref, struct object **obj, struct strbuf *err)
+                     int deref, struct object **obj, struct strbuf *err)
 {
        /* parse_object_buffer() will set eaten to 0 if free() will be needed */
        int eaten = 1;
        int ret = 0;
        unsigned long size;
-       void *buf = get_obj(oid, obj, &size, &eaten);
+       enum object_type type;
+       void *buf = read_object_file(oid, &type, &size);
        if (!buf)
                ret = strbuf_addf_ret(err, -1, _("missing object %s for %s"),
                                      oid_to_hex(oid), ref->refname);
-       else if (!*obj)
-               ret = strbuf_addf_ret(err, -1, _("parse_object_buffer failed on %s for %s"),
-                                     oid_to_hex(oid), ref->refname);
-       else
-               grab_values(ref->value, deref, *obj, buf, size);
+       else {
+               *obj = parse_object_buffer(oid, type, size, buf, &eaten);
+               if (!*obj)
+                       ret = strbuf_addf_ret(err, -1, _("parse_object_buffer failed on %s for %s"),
+                                             oid_to_hex(oid), ref->refname);
+               else
+                       grab_values(ref->value, deref, *obj, buf, size);
+       }
        if (!eaten)
                free(buf);
        return ret;