On Tue, Mar 20, 2018 at 6:30 PM, Junio C Hamano <gits...@pobox.com> wrote: > Eric Sunshine <sunsh...@sunshineco.com> writes: >> int ret = 0; >> void *buf = get_obj(oid, obj, &size, &eaten); >> if (!buf) >> ret = strbuf_error(_("missing object %s for %s"), >> oid_to_hex(oid), ref->refname); >> else if (!*obj) >> ret = strbuf_error(_("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; > > I have no idea what strbuf_error() that does not take any strbuf is > doing,...
strbuf_error() was a possibility proposed in [1], and it does take a strbuf. Failure to pass in a strbuf here is just a typo. > ... but I think you can initialize ret to -1 (i.e. assume the > worst at the beginning), and then make the "ok, we didn't get any > errors" case do > > else { > grab_values(...); > ret = 0; > } Yes, that also works. [1]: https://public-inbox.org/git/capig+ct5jh0y9rmw0e6ns0k5mswaxaqdan8owcayce8v+jy...@mail.gmail.com/