Re: [PATCH v4 02/22] fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 17, 2021, 18:38 UTC
- Message-ID
- <xmqq35wtwrq9.fsf@gitster.g>
- In-Reply-To
- <20210316161738.30254-3-avarab@gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 31 quoted lines
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
> fsck.h | 18 ++++++++++++++++--
> 1 file changed, 16 insertions(+), 2 deletions(-)
>
> diff --git a/fsck.h b/fsck.h
> index 2274843ba0..40f3cb3f64 100644
> --- a/fsck.h
> +++ b/fsck.h
> @@ -43,8 +43,22 @@ struct fsck_options {
> kh_oid_map_t *object_names;
> };
>
> -#define FSCK_OPTIONS_DEFAULT { NULL, fsck_error_function, 0, NULL, OIDSET_INIT, NULL }
> -#define FSCK_OPTIONS_STRICT { NULL, fsck_error_function, 1, NULL, OIDSET_INIT, NULL }
> +#define FSCK_OPTIONS_DEFAULT { \
> + .walk = NULL, \
> + .error_func = fsck_error_function, \
> + .strict = 0, \
> + .msg_type = NULL, \
> + .skiplist = OIDSET_INIT, \
> + .object_names = NULL, \
> +}
> +#define FSCK_OPTIONS_STRICT { \
> + .walk = NULL, \
> + .error_func = fsck_error_function, \
> + .strict = 1, \
> + .msg_type = NULL, \
> + .skiplist = OIDSET_INIT, \
> + .object_names = NULL, \
> +}Being explicit is good, but spelling out zero initialization sounds more like cluttering than clarifying. I do not mind .strict = 0 in the DEFAULT one only because it contrasts well with .strict = 1 on the STRICT side, but it would be easier to read to omit these zero initilization of the .walk, .msg_type and .object_names members.
> /* descend in all linked child objects > * the return value is: