*.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 коммит произвёл Junio C Hamano
Родитель 608cfd31cf
Коммит f69a6e4f07
13 изменённых файлов: 42 добавлений и 18 удалений

Просмотреть файл

@ -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)
{

Просмотреть файл

@ -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"

Просмотреть файл

@ -1668,7 +1668,9 @@ struct cache_def {
int track_flags;
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)
{
strbuf_release(&cache->path);

Просмотреть файл

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

5
list.h
Просмотреть файл

@ -46,7 +46,10 @@ struct list_head {
#define INIT_LIST_HEAD(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. */
static inline void list_add(struct list_head *newp, struct list_head *head)

Просмотреть файл

@ -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);

Просмотреть файл

@ -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);

Просмотреть файл

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

Просмотреть файл

@ -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)

Просмотреть файл

@ -37,7 +37,9 @@ struct submodule_update_strategy {
enum submodule_update_type type;
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_writing_gitmodules_ok(void);

Просмотреть файл

@ -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)

Просмотреть файл

@ -89,7 +89,7 @@ struct trace_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_setup_key;

Просмотреть файл

@ -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.