*.h: move some *_INIT to designated initializers

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 c90be786da (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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2021-09-27 14:54:27 +02:00 committed by Junio C Hamano
parent 608cfd31cf
commit f69a6e4f07
13 changed files with 42 additions and 18 deletions

View File

@ -102,8 +102,12 @@ struct prefix_item_list {
int *selected; /* for multi-selections */ int *selected; /* for multi-selections */
size_t min_length, max_length; size_t min_length, max_length;
}; };
#define PREFIX_ITEM_LIST_INIT \ #define PREFIX_ITEM_LIST_INIT { \
{ STRING_LIST_INIT_DUP, STRING_LIST_INIT_NODUP, NULL, 1, 4 } .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) static void prefix_item_list_clear(struct prefix_item_list *list)
{ {

View File

@ -1647,8 +1647,9 @@ struct submodule_alternate_setup {
} error_mode; } error_mode;
struct string_list *reference; struct string_list *reference;
}; };
#define SUBMODULE_ALTERNATE_SETUP_INIT { NULL, \ #define SUBMODULE_ALTERNATE_SETUP_INIT { \
SUBMODULE_ALTERNATE_ERROR_IGNORE, NULL } .error_mode = SUBMODULE_ALTERNATE_ERROR_IGNORE, \
}
static const char alternate_error_advice[] = N_( static const char alternate_error_advice[] = N_(
"An alternate computed from a superproject's alternate is invalid.\n" "An alternate computed from a superproject's alternate is invalid.\n"

View File

@ -1668,7 +1668,9 @@ struct cache_def {
int track_flags; int track_flags;
int prefix_len_stat_func; int prefix_len_stat_func;
}; };
#define CACHE_DEF_INIT { STRBUF_INIT } #define CACHE_DEF_INIT { \
.path = STRBUF_INIT, \
}
static inline void cache_def_clear(struct cache_def *cache) static inline void cache_def_clear(struct cache_def *cache)
{ {
strbuf_release(&cache->path); strbuf_release(&cache->path);

View File

@ -16,7 +16,7 @@ struct checkout {
clone:1, clone:1,
refresh_cache:1; refresh_cache:1;
}; };
#define CHECKOUT_INIT { NULL, "" } #define CHECKOUT_INIT { .base_dir = "" }
#define TEMPORARY_FILENAME_LENGTH 25 #define TEMPORARY_FILENAME_LENGTH 25
/* /*

5
list.h
View File

@ -46,7 +46,10 @@ struct list_head {
#define INIT_LIST_HEAD(ptr) \ #define INIT_LIST_HEAD(ptr) \
(ptr)->next = (ptr)->prev = (ptr) (ptr)->next = (ptr)->prev = (ptr)
#define LIST_HEAD_INIT(name) { &(name), &(name) } #define LIST_HEAD_INIT(name) { \
.next = &(name), \
.prev = &(name), \
}
/* Add new element at the head of the list. */ /* Add new element at the head of the list. */
static inline void list_add(struct list_head *newp, struct list_head *head) static inline void list_add(struct list_head *newp, struct list_head *head)

View File

@ -119,7 +119,9 @@ struct todo_list {
struct stat_data stat; 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, int todo_list_parse_insn_buffer(struct repository *r, char *buf,
struct todo_list *todo_list); struct todo_list *todo_list);

View File

@ -23,7 +23,9 @@ int is_repository_shallow(struct repository *r);
struct shallow_lock { struct shallow_lock {
struct lock_file 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 */ /* commit $GIT_DIR/shallow and reset stat-validity checks */
int commit_shallow_file(struct repository *r, struct shallow_lock *lk); int commit_shallow_file(struct repository *r, struct shallow_lock *lk);

View File

@ -33,7 +33,9 @@ struct strvec {
size_t alloc; size_t alloc;
}; };
#define STRVEC_INIT { empty_strvec } #define STRVEC_INIT { \
.v = empty_strvec, \
}
/** /**
* Initialize an array. This is no different than assigning from * Initialize an array. This is no different than assigning from

View File

@ -1321,9 +1321,11 @@ struct submodule_parallel_fetch {
struct strbuf submodules_with_errors; struct strbuf submodules_with_errors;
}; };
#define SPF_INIT {0, STRVEC_INIT, NULL, NULL, 0, 0, 0, 0, \ #define SPF_INIT { \
STRING_LIST_INIT_DUP, \ .args = STRVEC_INIT, \
NULL, 0, 0, STRBUF_INIT} .changed_submodule_names = STRING_LIST_INIT_DUP, \
.submodules_with_errors = STRBUF_INIT, \
}
static int get_fetch_recurse_config(const struct submodule *submodule, static int get_fetch_recurse_config(const struct submodule *submodule,
struct submodule_parallel_fetch *spf) struct submodule_parallel_fetch *spf)

View File

@ -37,7 +37,9 @@ struct submodule_update_strategy {
enum submodule_update_type type; enum submodule_update_type type;
const char *command; const char *command;
}; };
#define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED} #define SUBMODULE_UPDATE_STRATEGY_INIT { \
.type = SM_UPDATE_UNSPECIFIED, \
}
int is_gitmodules_unmerged(struct index_state *istate); int is_gitmodules_unmerged(struct index_state *istate);
int is_writing_gitmodules_ok(void); int is_writing_gitmodules_ok(void);

View File

@ -60,8 +60,10 @@ struct testsuite {
int next; int next;
int quiet, immediate, verbose, verbose_log, trace, write_junit_xml; int quiet, immediate, verbose, verbose_log, trace, write_junit_xml;
}; };
#define TESTSUITE_INIT \ #define TESTSUITE_INIT { \
{ STRING_LIST_INIT_DUP, STRING_LIST_INIT_DUP } .tests = STRING_LIST_INIT_DUP, \
.failed = STRING_LIST_INIT_DUP, \
}
static int next_test(struct child_process *cp, struct strbuf *err, void *cb, static int next_test(struct child_process *cp, struct strbuf *err, void *cb,
void **task_cb) void **task_cb)

View File

@ -89,7 +89,7 @@ struct trace_key {
extern struct trace_key trace_default_key; extern struct trace_key trace_default_key;
#define TRACE_KEY_INIT(name) { "GIT_TRACE_" #name } #define TRACE_KEY_INIT(name) { .key = "GIT_TRACE_" #name }
extern struct trace_key trace_perf_key; extern struct trace_key trace_perf_key;
extern struct trace_key trace_setup_key; extern struct trace_key trace_setup_key;

View File

@ -262,7 +262,9 @@ struct transport_ls_refs_options {
*/ */
char *unborn_head_target; 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. * Retrieve refs from a remote.