It's not wrong to pass our flags in an "unsigned", as we know it will be at least as large as the enum. However, using the enum in the declaration makes it more obvious where to find the list of flags. While we're here, let's also drop the "extern" noise-words from the declarations, per our modern coding style. Signed-off-by: Jeff King <peff@xxxxxxxx> --- cache.h | 3 ++- packfile.c | 3 ++- packfile.h | 5 +++-- sha1-file.c | 3 ++- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cache.h b/cache.h index 4187238ecf..9e02fc494e 100644 --- a/cache.h +++ b/cache.h @@ -1640,7 +1640,8 @@ enum for_each_object_flags { * repository and any alternates repositories (unless the * LOCAL_ONLY flag is set). */ -extern int for_each_loose_object(each_loose_object_fn, void *, unsigned flags); +int for_each_loose_object(each_loose_object_fn, void *, + enum for_each_object_flags flags); /* * Set this to 0 to prevent sha1_object_info_extended() from fetching missing diff --git a/packfile.c b/packfile.c index 6974903e58..9da8f6d728 100644 --- a/packfile.c +++ b/packfile.c @@ -1904,7 +1904,8 @@ int for_each_object_in_pack(struct packed_git *p, each_packed_object_fn cb, void return r; } -int for_each_packed_object(each_packed_object_fn cb, void *data, unsigned flags) +int for_each_packed_object(each_packed_object_fn cb, void *data, + enum for_each_object_flags flags) { struct packed_git *p; int r = 0; diff --git a/packfile.h b/packfile.h index 6ddc6a2e91..9861728514 100644 --- a/packfile.h +++ b/packfile.h @@ -158,8 +158,9 @@ typedef int each_packed_object_fn(const struct object_id *oid, struct packed_git *pack, uint32_t pos, void *data); -extern int for_each_object_in_pack(struct packed_git *p, each_packed_object_fn, void *data); -extern int for_each_packed_object(each_packed_object_fn, void *, unsigned flags); +int for_each_object_in_pack(struct packed_git *p, each_packed_object_fn, void *data); +int for_each_packed_object(each_packed_object_fn, void *, + enum for_each_object_flags flags); /* * Return 1 if an object in a promisor packfile is or refers to the given diff --git a/sha1-file.c b/sha1-file.c index dfa8a35d68..cc0b57a751 100644 --- a/sha1-file.c +++ b/sha1-file.c @@ -2146,7 +2146,8 @@ static int loose_from_alt_odb(struct alternate_object_database *alt, return r; } -int for_each_loose_object(each_loose_object_fn cb, void *data, unsigned flags) +int for_each_loose_object(each_loose_object_fn cb, void *data, + enum for_each_object_flags flags) { struct loose_alt_odb_data alt; int r; -- 2.18.0.1058.g7433f71063