[PATCH v2 08/36] external-odb: add external_odb_reinit()
- From
Christian Couder <christian.couder@gmail.com>
- Date
- Mar 19, 2018, 13:31 UTC
- Message-ID
- <20180319133147.15413-9-chriscool@tuxfamily.org>
- In-Reply-To
- <20180319133147.15413-1-chriscool@tuxfamily.org>
As we will need to reinitialize the list of odb helpers from the config file, let's add external_odb_reinit() for that purpose.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> --- external-odb.c | 14 ++++++++++++-- external-odb.h | 1 + 2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/external-odb.c b/external-odb.c index 9c77180d6c..82ac80aa04 100644 --- a/external-odb.c +++ b/external-odb.c @@ -39,17 +39,27 @@ static int external_odb_config(const char *var, const char *value, void *data) return 0; } -static void external_odb_init(void) +static void external_odb_do_init(int force) { static int initialized; - if (initialized || !use_external_odb) + if ((!force && initialized) || !use_external_odb) return; initialized = 1; git_config(external_odb_config, NULL); } +static inline void external_odb_init(void) +{ + external_odb_do_init(0); +} + +inline void external_odb_reinit(void) +{ + external_odb_do_init(1); +} + int has_external_odb(void) { external_odb_init(); diff --git a/external-odb.h b/external-odb.h index 27c3d39c1b..254070994a 100644 --- a/external-odb.h +++ b/external-odb.h @@ -9,6 +9,7 @@ enum odb_helper_type { OBJ_HELPER_MAX }; +extern void external_odb_reinit(void); extern int has_external_odb(void); extern struct odb_helper *find_odb_helper(const char *dealer, enum odb_helper_type type);
-- 2.17.0.rc0.37.g8f476fabe9