[PATCH v2 3/4] advice: add `advice_set` to update advice settings at runtime
From: Ben Boeckel <hidden>
Date: 2021-08-05 23:03:43
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> --- 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