There are two uses of global `advice_` variables that write to them. Replace these uses with a new API that writes to the internal table so that the global variables may be removed completely. Signed-off-by: Ben Boeckel <mathstuf@xxxxxxxxx> --- advice.c | 5 +++++ advice.h | 5 +++++ builtin/add.c | 2 +- builtin/replace.c | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/advice.c b/advice.c index 0cf3cda26a..ee4edc5e28 100644 --- a/advice.c +++ b/advice.c @@ -189,6 +189,11 @@ int advice_enabled(enum advice_type type) } } +void advice_set(enum advice_type type, int value) +{ + advice_setting[type].enabled = value; +} + void advise_if_enabled(enum advice_type type, const char *advice, ...) { va_list params; diff --git a/advice.h b/advice.h index 95489ab4c6..101c4054b7 100644 --- a/advice.h +++ b/advice.h @@ -89,6 +89,11 @@ void advise(const char *advice, ...); */ int advice_enabled(enum advice_type type); +/** + * Enable or disable advice of a certain kind. + */ +void advice_set(enum advice_type type, int value); + /** * Checks the visibility of the advice before printing. */ diff --git a/builtin/add.c b/builtin/add.c index a903306300..3d1fd64294 100644 --- a/builtin/add.c +++ b/builtin/add.c @@ -433,7 +433,7 @@ static void check_embedded_repo(const char *path) if (advice_enabled(ADVICE_ADD_EMBEDDED_REPO)) { advise(embedded_advice, name.buf, name.buf); /* there may be multiple entries; advise only once */ - advice_add_embedded_repo = 0; + advice_set(ADVICE_ADD_EMBEDDED_REPO, 0); } strbuf_release(&name); diff --git a/builtin/replace.c b/builtin/replace.c index cd48765911..1340878021 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -507,7 +507,7 @@ static int convert_graft_file(int force) if (!fp) return -1; - advice_graft_file_deprecated = 0; + advice_set(ADVICE_GRAFT_FILE_DEPRECATED, 0); while (strbuf_getline(&buf, fp) != EOF) { if (*buf.buf == '#') continue; -- 2.31.1