diff options
| author | Edward Thomson <ethomson@edwardthomson.com> | 2020-05-13 10:39:33 +0100 |
|---|---|---|
| committer | Edward Thomson <ethomson@edwardthomson.com> | 2020-10-11 14:43:35 +0100 |
| commit | 6554b40e42df831d7fc9c623d34b2738227dd8a2 (patch) | |
| tree | 52b0fdeedbdd39ae8b45d833fdd41a5d6bc32716 /src/settings.c | |
| parent | 521aa8c1c04c25a57b82e1279a4e91d8a07436aa (diff) | |
| download | libgit2-6554b40e42df831d7fc9c623d34b2738227dd8a2.tar.gz | |
settings: localize global data
Move the settings global data teardown into its own separate function,
instead of intermingled with the global state.
Diffstat (limited to 'src/settings.c')
| -rw-r--r-- | src/settings.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/settings.c b/src/settings.c index 69ebcb7ab..0426093ea 100644 --- a/src/settings.c +++ b/src/settings.c @@ -29,6 +29,28 @@ #include "streams/openssl.h" #include "streams/mbedtls.h" +/* Declarations for tuneable settings */ +extern size_t git_mwindow__window_size; +extern size_t git_mwindow__mapped_limit; +extern size_t git_mwindow__file_limit; +extern size_t git_indexer__max_objects; +extern bool git_disable_pack_keep_file_checks; + +char *git__user_agent; +char *git__ssl_ciphers; + +static void git_settings_global_shutdown(void) +{ + git__free(git__user_agent); + git__free(git__ssl_ciphers); +} + +int git_settings_global_init(void) +{ + git__on_shutdown(git_settings_global_shutdown); + return 0; +} + int git_libgit2_version(int *major, int *minor, int *rev) { *major = LIBGIT2_VER_MAJOR; @@ -56,13 +78,6 @@ int git_libgit2_features(void) ; } -/* Declarations for tuneable settings */ -extern size_t git_mwindow__window_size; -extern size_t git_mwindow__mapped_limit; -extern size_t git_mwindow__file_limit; -extern size_t git_indexer__max_objects; -extern bool git_disable_pack_keep_file_checks; - static int config_level_to_sysdir(int config_level) { int val = -1; @@ -88,9 +103,6 @@ static int config_level_to_sysdir(int config_level) return val; } -extern char *git__user_agent; -extern char *git__ssl_ciphers; - const char *git_libgit2__user_agent(void) { return git__user_agent; |
