Thread (28 messages) flat view 28 messages, 2 authors, 2021-10-02

Re: [PATCH 3/6] shortlog: use designated initializer for "struct shortlog"

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-09-27 10:54:11

On Mon, Sep 27 2021, Phillip Wood wrote:
Hi Ævar

On 27/09/2021 01:53, Ævar Arnfjörð Bjarmason wrote:
quoted
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 <redacted>
---
  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!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help