]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Use master_service_settings_get_root_set*()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Sat, 26 Feb 2022 22:25:59 +0000 (23:25 +0100)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 30 Nov 2022 12:39:52 +0000 (14:39 +0200)
src/doveadm/doveadm-settings.c

index c1cafea5f030b91f06e838a1e131b61ff7b77c5b..90a2199d7387fc1c61cc27166ec1d0201fdecf9e 100644 (file)
@@ -237,7 +237,6 @@ void doveadm_read_settings(void)
        struct doveadm_setting_root *root;
        ARRAY(const struct setting_parser_info *) set_roots;
        ARRAY_TYPE(const_string) module_names;
-       void **sets;
        const char *error;
 
        t_array_init(&set_roots, N_ELEMENTS(default_set_roots) +
@@ -264,27 +263,23 @@ void doveadm_read_settings(void)
                i_fatal("Error reading configuration: %s", error);
 
        doveadm_settings_pool = pool_alloconly_create("doveadm settings", 1024);
-       service_set = master_service_settings_get(master_service);
-       service_set = settings_dup(&master_service_setting_parser_info,
-                                  service_set, doveadm_settings_pool);
+       service_set = master_service_settings_get_root_set_dup(master_service,
+               &master_service_setting_parser_info, doveadm_settings_pool);
        doveadm_verbose_proctitle = service_set->verbose_proctitle;
 
-       sets = master_service_settings_get_others(master_service);
-       set = sets[1];
+       set = master_service_settings_get_root_set(
+               master_service, &doveadm_setting_parser_info);
        doveadm_settings = settings_dup(&doveadm_setting_parser_info, set,
                                        doveadm_settings_pool);
-       doveadm_ssl_set = master_service_settings_get_root_set(master_service,
-                                       &master_service_ssl_setting_parser_info);
-       doveadm_ssl_set = settings_dup(&master_service_ssl_setting_parser_info,
-                                      doveadm_ssl_set, doveadm_settings_pool);
+       doveadm_ssl_set = master_service_settings_get_root_set_dup(
+               master_service, &master_service_ssl_setting_parser_info,
+               doveadm_settings_pool);
        doveadm_settings_expand(doveadm_settings, doveadm_settings_pool);
        doveadm_settings->parsed_features = set->parsed_features; /* copy this value by hand */
 
        array_foreach_modifiable(&doveadm_setting_roots, root) {
-               unsigned int idx =
-                       array_foreach_idx(&doveadm_setting_roots, root);
-               root->settings = settings_dup(root->info, sets[2+idx],
-                                             doveadm_settings_pool);
+               root->settings = master_service_settings_get_root_set_dup(
+                       master_service, root->info, doveadm_settings_pool);
        }
 }