[PATCH v2 3/4] ref-filter: merge get_obj and get_object
- From
Olga Telezhnaya <olyatelezhnaya@gmail.com>
- Date
- Jul 13, 2018, 12:43 UTC
- Message-ID
- <0102016493ab5420-51c1c19d-e1ca-43cb-8f9e-36f242f5c972-000000@eu-west-1.amazonses.com>
- In-Reply-To
- <0102016493ab5347-c0429041-6e66-4550-894c-2d500cb2ed8e-000000@eu-west-1.amazonses.com>
Inline get_obj(): it would be easier to edit the code without this split.
Signed-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com> --- ref-filter.c | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-)
diff --git a/ref-filter.c b/ref-filter.c index 27733ef013bed..f04169f0ea0e3 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -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,20 +1419,24 @@ 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) { int eaten; 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; -- https://github.com/git/git/pull/520