Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > Subject: Re: [PATCH 02/14] fsck.h: use use "enum object_type" instead of "int" use use. > Change the fsck_walk_func to use an "enum object_type" instead of an > "int" type. The types are compatible, and ever since this was added in > 355885d5315 (add generic, type aware object chain walker, 2008-02-25) > we've used entries from object_type (OBJ_BLOB etc.). > > So this doesn't really change anything as far as the generated code is > concerned, it just gives the compiler more information and makes this > easier to read. Yup, as long as we won't trick the compiler into complaining "ah, but you are not covering OBJ_OFS_DELTA or OBJ_BAD values in your switch statement", I think a change like this is a good thing. > Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> > --- > builtin/fsck.c | 3 ++- > builtin/index-pack.c | 3 ++- > builtin/unpack-objects.c | 3 ++- > fsck.h | 3 ++- > 4 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/builtin/fsck.c b/builtin/fsck.c > index 821e7798c70..68f0329e69e 100644 > --- a/builtin/fsck.c > +++ b/builtin/fsck.c > @@ -197,7 +197,8 @@ static int traverse_reachable(void) > return !!result; > } > > -static int mark_used(struct object *obj, int type, void *data, struct fsck_options *options) > +static int mark_used(struct object *obj, enum object_type object_type, > + void *data, struct fsck_options *options) > { > if (!obj) > return 1; > diff --git a/builtin/index-pack.c b/builtin/index-pack.c > index 54f74c48741..2f291a14d4a 100644 > --- a/builtin/index-pack.c > +++ b/builtin/index-pack.c > @@ -212,7 +212,8 @@ static void cleanup_thread(void) > free(thread_data); > } > > -static int mark_link(struct object *obj, int type, void *data, struct fsck_options *options) > +static int mark_link(struct object *obj, enum object_type type, > + void *data, struct fsck_options *options) > { > if (!obj) > return -1; > diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c > index dd4a75e030d..ca54fd16688 100644 > --- a/builtin/unpack-objects.c > +++ b/builtin/unpack-objects.c > @@ -187,7 +187,8 @@ static void write_cached_object(struct object *obj, struct obj_buffer *obj_buf) > * that have reachability requirements and calls this function. > * Verify its reachability and validity recursively and write it out. > */ > -static int check_object(struct object *obj, int type, void *data, struct fsck_options *options) > +static int check_object(struct object *obj, enum object_type type, > + void *data, struct fsck_options *options) > { > struct obj_buffer *obj_buf; > > diff --git a/fsck.h b/fsck.h > index df0b64a2163..0c75789d219 100644 > --- a/fsck.h > +++ b/fsck.h > @@ -23,7 +23,8 @@ int is_valid_msg_type(const char *msg_id, const char *msg_type); > * <0 error signaled and abort > * >0 error signaled and do not abort > */ > -typedef int (*fsck_walk_func)(struct object *obj, int type, void *data, struct fsck_options *options); > +typedef int (*fsck_walk_func)(struct object *obj, enum object_type object_type, > + void *data, struct fsck_options *options); > > /* callback for fsck_object, type is FSCK_ERROR or FSCK_WARN */ > typedef int (*fsck_error)(struct fsck_options *o,