git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Martin Ågren" <martin.agren@gmail.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 4/5] *.h: move some *_INIT to designated initializers
Date: Mon, 27 Sep 2021 02:39:51 +0200	[thread overview]
Message-ID: <patch-4.5-1f364565111-20210927T003330Z-avarab@gmail.com> (raw)
In-Reply-To: <cover-0.5-00000000000-20210927T003330Z-avarab@gmail.com>

Move various *_INIT macros to use designated initializers. This helps
readability. I've only picked those leftover macros that were not
touched by another in-flight series of mine which changed others, but
also how initialization was done.

In the case of SUBMODULE_ALTERNATE_SETUP_INIT I've left an explicit
initialization of "error_mode", even though
SUBMODULE_ALTERNATE_ERROR_IGNORE itself is defined as "0". Let's not
peek under the hood and assume that enum fields we know the value of
will stay at "0".

The change to "TESTSUITE_INIT" in "t/helper/test-run-command.c" was
part of an earlier on-list version[1] of c90be786da9 (test-tool
run-command: fix flip-flop init pattern, 2021-09-11).

1. https://lore.kernel.org/git/patch-1.1-0aa4523ab6e-20210909T130849Z-avarab@gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 add-interactive.c           | 8 ++++++--
 builtin/submodule--helper.c | 5 +++--
 cache.h                     | 4 +++-
 sequencer.h                 | 4 +++-
 shallow.h                   | 4 +++-
 strvec.h                    | 4 +++-
 submodule.c                 | 8 +++++---
 submodule.h                 | 4 +++-
 t/helper/test-run-command.c | 6 ++++--
 transport.h                 | 4 +++-
 10 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/add-interactive.c b/add-interactive.c
index 36ebdbdf7e2..6498ae196f1 100644
--- a/add-interactive.c
+++ b/add-interactive.c
@@ -102,8 +102,12 @@ struct prefix_item_list {
 	int *selected; /* for multi-selections */
 	size_t min_length, max_length;
 };
-#define PREFIX_ITEM_LIST_INIT \
-	{ STRING_LIST_INIT_DUP, STRING_LIST_INIT_NODUP, NULL, 1, 4 }
+#define PREFIX_ITEM_LIST_INIT { \
+	.items = STRING_LIST_INIT_DUP, \
+	.sorted = STRING_LIST_INIT_NODUP, \
+	.min_length = 1, \
+	.max_length = 4, \
+}
 
 static void prefix_item_list_clear(struct prefix_item_list *list)
 {
diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c
index deca75c83ee..57f09925157 100644
--- a/builtin/submodule--helper.c
+++ b/builtin/submodule--helper.c
@@ -1647,8 +1647,9 @@ struct submodule_alternate_setup {
 	} error_mode;
 	struct string_list *reference;
 };
-#define SUBMODULE_ALTERNATE_SETUP_INIT { NULL, \
-	SUBMODULE_ALTERNATE_ERROR_IGNORE, NULL }
+#define SUBMODULE_ALTERNATE_SETUP_INIT { \
+	.error_mode = SUBMODULE_ALTERNATE_ERROR_IGNORE, \
+}
 
 static const char alternate_error_advice[] = N_(
 "An alternate computed from a superproject's alternate is invalid.\n"
diff --git a/cache.h b/cache.h
index f6295f3b048..794237515b9 100644
--- a/cache.h
+++ b/cache.h
@@ -1668,7 +1668,9 @@ struct cache_def {
 	int track_flags;
 	int prefix_len_stat_func;
 };
-#define CACHE_DEF_INIT { STRBUF_INIT, 0, 0, 0 }
+#define CACHE_DEF_INIT { \
+	.path = STRBUF_INIT, \
+}
 static inline void cache_def_clear(struct cache_def *cache)
 {
 	strbuf_release(&cache->path);
diff --git a/sequencer.h b/sequencer.h
index 2088344cb37..259d4eb4a8a 100644
--- a/sequencer.h
+++ b/sequencer.h
@@ -119,7 +119,9 @@ struct todo_list {
 	struct stat_data stat;
 };
 
-#define TODO_LIST_INIT { STRBUF_INIT }
+#define TODO_LIST_INIT { \
+	.buf = STRBUF_INIT, \
+}
 
 int todo_list_parse_insn_buffer(struct repository *r, char *buf,
 				struct todo_list *todo_list);
diff --git a/shallow.h b/shallow.h
index 5b4a96dcd69..aba6ff58294 100644
--- a/shallow.h
+++ b/shallow.h
@@ -23,7 +23,9 @@ int is_repository_shallow(struct repository *r);
 struct shallow_lock {
 	struct lock_file lock;
 };
-#define SHALLOW_LOCK_INIT { LOCK_INIT }
+#define SHALLOW_LOCK_INIT { \
+	.lock = LOCK_INIT, \
+}
 
 /* commit $GIT_DIR/shallow and reset stat-validity checks */
 int commit_shallow_file(struct repository *r, struct shallow_lock *lk);
diff --git a/strvec.h b/strvec.h
index 6b3cbd67589..9f55c8766ba 100644
--- a/strvec.h
+++ b/strvec.h
@@ -33,7 +33,9 @@ struct strvec {
 	size_t alloc;
 };
 
-#define STRVEC_INIT { empty_strvec, 0, 0 }
+#define STRVEC_INIT { \
+	.v = empty_strvec, \
+}
 
 /**
  * Initialize an array. This is no different than assigning from
diff --git a/submodule.c b/submodule.c
index 78aed03d928..03cf36707ae 100644
--- a/submodule.c
+++ b/submodule.c
@@ -1321,9 +1321,11 @@ struct submodule_parallel_fetch {
 
 	struct strbuf submodules_with_errors;
 };
-#define SPF_INIT {0, STRVEC_INIT, NULL, NULL, 0, 0, 0, 0, \
-		  STRING_LIST_INIT_DUP, \
-		  NULL, 0, 0, STRBUF_INIT}
+#define SPF_INIT { \
+	.args = STRVEC_INIT, \
+	.changed_submodule_names = STRING_LIST_INIT_DUP, \
+	.submodules_with_errors = STRBUF_INIT, \
+}
 
 static int get_fetch_recurse_config(const struct submodule *submodule,
 				    struct submodule_parallel_fetch *spf)
diff --git a/submodule.h b/submodule.h
index 4578e501b86..6bd2c99fd99 100644
--- a/submodule.h
+++ b/submodule.h
@@ -37,7 +37,9 @@ struct submodule_update_strategy {
 	enum submodule_update_type type;
 	const char *command;
 };
-#define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL}
+#define SUBMODULE_UPDATE_STRATEGY_INIT { \
+	.type = SM_UPDATE_UNSPECIFIED, \
+}
 
 int is_gitmodules_unmerged(struct index_state *istate);
 int is_writing_gitmodules_ok(void);
diff --git a/t/helper/test-run-command.c b/t/helper/test-run-command.c
index 50bb98b7e04..3c4fb862234 100644
--- a/t/helper/test-run-command.c
+++ b/t/helper/test-run-command.c
@@ -60,8 +60,10 @@ struct testsuite {
 	int next;
 	int quiet, immediate, verbose, verbose_log, trace, write_junit_xml;
 };
-#define TESTSUITE_INIT \
-	{ STRING_LIST_INIT_DUP, STRING_LIST_INIT_DUP }
+#define TESTSUITE_INIT { \
+	.tests = STRING_LIST_INIT_DUP, \
+	.failed = STRING_LIST_INIT_DUP, \
+}
 
 static int next_test(struct child_process *cp, struct strbuf *err, void *cb,
 		     void **task_cb)
diff --git a/transport.h b/transport.h
index 1cbab113730..8bb4c8bbc8c 100644
--- a/transport.h
+++ b/transport.h
@@ -262,7 +262,9 @@ struct transport_ls_refs_options {
 	 */
 	char *unborn_head_target;
 };
-#define TRANSPORT_LS_REFS_OPTIONS_INIT { STRVEC_INIT }
+#define TRANSPORT_LS_REFS_OPTIONS_INIT { \
+	.ref_prefixes = STRVEC_INIT, \
+}
 
 /*
  * Retrieve refs from a remote.
-- 
2.33.0.1294.g2bdf2798764


  parent reply	other threads:[~2021-09-27  0:40 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-27  0:39 [PATCH 0/5] Designated initializer cleanup & conversion Ævar Arnfjörð Bjarmason
2021-09-27  0:39 ` [PATCH 1/5] submodule-config.h: remove unused SUBMODULE_INIT macro Ævar Arnfjörð Bjarmason
2021-09-27  0:39 ` [PATCH 2/5] *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom Ævar Arnfjörð Bjarmason
2021-09-27  2:27   ` Eric Sunshine
2021-09-27  6:35   ` Johannes Sixt
2021-09-27 20:25     ` Junio C Hamano
2021-09-27  0:39 ` [PATCH 3/5] *.h _INIT macros: don't specify fields equal to 0 Ævar Arnfjörð Bjarmason
2021-09-27  0:39 ` Ævar Arnfjörð Bjarmason [this message]
2021-09-27  0:39 ` [PATCH 5/5] cbtree.h: define cb_init() in terms of CBTREE_INIT Ævar Arnfjörð Bjarmason
2021-09-27  6:37   ` Johannes Sixt
2021-09-27 11:02     ` Ævar Arnfjörð Bjarmason
2021-09-27 23:54       ` Jeff King
2021-09-28  6:15         ` Johannes Sixt
2021-09-28 18:32         ` Junio C Hamano
2021-09-28 19:42           ` Ævar Arnfjörð Bjarmason
2021-09-28 20:50             ` Junio C Hamano
2021-09-27  9:13   ` Phillip Wood
2021-09-27 11:00     ` Ævar Arnfjörð Bjarmason
2021-09-30 10:01       ` Phillip Wood
2021-09-27 12:54 ` [PATCH v2 0/5] Designated initializer cleanup & conversion Ævar Arnfjörð Bjarmason
2021-09-27 12:54   ` [PATCH v2 1/5] submodule-config.h: remove unused SUBMODULE_INIT macro Ævar Arnfjörð Bjarmason
2021-09-27 23:34     ` Jeff King
2021-09-27 12:54   ` [PATCH v2 2/5] *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom Ævar Arnfjörð Bjarmason
2021-09-27 23:24     ` Jeff King
2021-09-28  0:25       ` Ævar Arnfjörð Bjarmason
2021-09-28  0:46         ` Jeff King
2021-09-28  1:44         ` Ramsay Jones
2021-09-27 12:54   ` [PATCH v2 3/5] *.h _INIT macros: don't specify fields equal to 0 Ævar Arnfjörð Bjarmason
2021-09-27 21:54     ` Junio C Hamano
2021-09-27 12:54   ` [PATCH v2 4/5] *.h: move some *_INIT to designated initializers Ævar Arnfjörð Bjarmason
2021-09-27 23:57     ` Junio C Hamano
2021-09-27 12:54   ` [PATCH v2 5/5] cbtree.h: define cb_init() in terms of CBTREE_INIT Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=patch-4.5-1f364565111-20210927T003330Z-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=martin.agren@gmail.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).