]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dict: Use master_service_settings_get_or_fatal()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 5 Jan 2023 01:40:38 +0000 (03:40 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 20 Nov 2023 12:11:41 +0000 (14:11 +0200)
src/dict/dict-expire.c
src/dict/dict-settings.c
src/dict/dict-settings.h
src/dict/main.c

index 8b0b66b8d2ece0ebcab27446e347c9bac9f4b01f..77f3cc93fa1ba45f17ad5dcfc174d58ede384bc8 100644 (file)
@@ -106,7 +106,7 @@ static void main_init(void)
 {
        struct module_dir_load_settings mod_set;
 
-       dict_settings = master_service_settings_get_root_set(master_service,
+       dict_settings = master_service_settings_get_or_fatal(NULL,
                                &dict_setting_parser_info);
 
        i_zero(&mod_set);
@@ -138,6 +138,7 @@ static void main_deinit(void)
 
        sql_drivers_deinit();
        timeout_remove(&to_expire);
+       master_service_settings_free(dict_settings);
 }
 
 int main(int argc, char *argv[])
@@ -156,6 +157,7 @@ int main(int argc, char *argv[])
 
        const struct master_service_settings_input set_input = {
                .roots = set_roots,
+               .disable_check_settings = TRUE,
        };
        struct master_service_settings_output output;
        if (master_service_settings_read(master_service, &set_input,
index 0361a642e8ba5beeb844d95d800c897fba0ae2a6..dcfcb07fc3e77e713b96c1388efd36f5f6820b98 100644 (file)
@@ -140,6 +140,7 @@ const struct setting_parser_info dict_setting_parser_info = {
        .defaults = &dict_default_settings,
 
        .struct_size = sizeof(struct dict_server_settings),
+       .pool_offset1 = 1 + offsetof(struct dict_server_settings, pool),
 };
 
 const struct dict_server_settings *dict_settings;
index bd72d518104cdbb6d3ceb04efe17142d0febd068..11e57a5f2cdbe0e0a4f8eb55c523e405a0b62539 100644 (file)
@@ -2,6 +2,7 @@
 #define DICT_SETTINGS_H
 
 struct dict_server_settings {
+       pool_t pool;
        const char *base_dir;
        bool verbose_proctitle;
        ARRAY(const char *) dicts;
index 54f3a1d4801036d936efbec6670dbeef3578aa8f..66ba25037e3d721b2b8b7e7ffe71080771f7947b 100644 (file)
@@ -102,7 +102,7 @@ static void main_init(void)
 {
        struct module_dir_load_settings mod_set;
 
-       dict_settings = master_service_settings_get_root_set(master_service,
+       dict_settings = master_service_settings_get_or_fatal(NULL,
                                &dict_setting_parser_info);
 
        i_zero(&mod_set);
@@ -137,6 +137,7 @@ static void main_deinit(void)
 
        sql_drivers_deinit();
        timeout_remove(&to_proctitle);
+       master_service_settings_free(dict_settings);
 }
 
 int main(int argc, char *argv[])
@@ -153,8 +154,13 @@ int main(int argc, char *argv[])
        if (master_getopt(master_service) > 0)
                return FATAL_DEFAULT;
 
-       if (master_service_settings_read_simple(master_service, set_roots,
-                                               &error) < 0)
+       const struct master_service_settings_input set_input = {
+               .roots = set_roots,
+               .disable_check_settings = TRUE,
+       };
+       struct master_service_settings_output output;
+       if (master_service_settings_read(master_service, &set_input,
+                                        &output, &error) < 0)
                i_fatal("%s", error);
 
        master_service_init_log_with_pid(master_service);