On Mon, Sep 27 2021, Phillip Wood wrote: > Hi Ævar > > On 27/09/2021 01:53, Ævar Arnfjörð Bjarmason wrote: >> Change code added in 64093fc06a (blame,shortlog: don't make local >> option variables static, 2016-06-13) to use a designated initializer >> via a typical *_INIT macro pattern. >> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> >> --- >> builtin/shortlog.c | 2 +- >> shortlog.h | 4 ++++ >> 2 files changed, 5 insertions(+), 1 deletion(-) >> diff --git a/builtin/shortlog.c b/builtin/shortlog.c >> index 3e7ab1ca821..fa1f76cc51e 100644 >> --- a/builtin/shortlog.c >> +++ b/builtin/shortlog.c >> @@ -342,7 +342,7 @@ void shortlog_init(struct shortlog *log) >> int cmd_shortlog(int argc, const char **argv, const char >> *prefix) >> { >> - struct shortlog log = { STRING_LIST_INIT_NODUP }; >> + struct shortlog log = SHORTLOG_INIT; >> struct rev_info rev; >> int nongit = !startup_info->have_repository; >> diff --git a/shortlog.h b/shortlog.h >> index 3f7e9aabcae..47892d6d604 100644 >> --- a/shortlog.h >> +++ b/shortlog.h >> @@ -28,6 +28,10 @@ struct shortlog { >> FILE *file; >> }; >> +#define SHORTLOG_INIT { \ >> + .list = STRING_LIST_INIT_NODUP, \ >> +} >> + >> void shortlog_init(struct shortlog *log); > > looking at this wouldn't it be better follow the pattern in the first > patch in this series and replace shortlog_init() with a designated > initializer? I've ejected this patch from a WIP re-roll, I don't know what I was thinking when I included it. It's "correct", but one of those cases where we can't easily get rid of the not-a-macro init() function, so having a *_INIT macro that doesn't actually do the initialization for both users is just confusing. Worse, that "nodup" is actually a like, the shortlog_init() function sets it to "dup", that issue pre-dated by change here, but I shouldn't have carried it forward. Sorry!