Re: [PATCH 2/7] odb/source-inmemory: signal missing objects via positive return
Junio C Hamano <[email protected]>
| Newsgroups | org.kernel.vger.git |
|---|---|
| Message-ID | <[email protected]> |
Patrick Steinhardt <[email protected]> writes: > The in-memory source returns a negative value from its > `read_object_info()` callback when the object in question does not > exist. Adapt the callback to return a positive value for missing objects > according to the new calling convention. > > Signed-off-by: Patrick Steinhardt <[email protected]> > --- > odb/source-inmemory.c | 2 +- > t/unit-tests/u-odb-inmemory.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/odb/source-inmemory.c b/odb/source-inmemory.c > index 3e71611b8e..57183daf4d 100644 > --- a/odb/source-inmemory.c > +++ b/odb/source-inmemory.c > @@ -66,7 +66,7 @@ static int odb_source_inmemory_read_object_info(struct odb_source *source, > > object = find_cached_object(inmemory, oid); > if (!object) > - return -1; > + return 1; Let's not define "any positive value means this single thing: it does not exist" and then return a mysterious and unspecified hard coded constant like this. Instead perhaps something along this line? enum odb_roi_status { ODB_ROI_SUCCESS = 0, ODB_ROI_MISSING = 1, ODB_ROI_IO_ERROR = -1, ... }; As I already said, I personally prefer to define MISSING also as a negative value.