diff options
Diffstat (limited to 'src/config_global.c')
-rw-r--r-- | src/config_global.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/config_global.c b/src/config_global.c index 14f3a26..0c32ebb 100644 --- a/src/config_global.c +++ b/src/config_global.c @@ -164,6 +164,7 @@ void init_config_global(void) { SPM_GLOBAL.config = NULL; SPM_GLOBAL.verbose = 0; SPM_GLOBAL.repo_target = NULL; + SPM_GLOBAL.mirror_list = NULL; if (uname(&SPM_GLOBAL.sysinfo) != 0) { fprintf(SYSERROR); @@ -205,6 +206,18 @@ void init_config_global(void) { SPM_GLOBAL.repo_target = normpath(item->value); } + // Initialize mirror list filename + SPM_GLOBAL.mirror_config = join((char *[]) {SPM_GLOBAL.user_config_basedir, SPM_MIRROR_FILENAME, NULL}, DIRSEPS); + item = config_get(SPM_GLOBAL.config, "mirror_config"); + if (item) { + free(SPM_GLOBAL.mirror_config); + SPM_GLOBAL.mirror_config = normpath(item->value); + } + + if (SPM_GLOBAL.mirror_config != NULL) { + SPM_GLOBAL.mirror_list = mirror_list(SPM_GLOBAL.mirror_config); + } + // Initialize temp directory item = config_get(SPM_GLOBAL.config, "tmp_dir"); if (item) { |