]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: master_service_import_environment() - use a data stack frame
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 7 Jun 2017 21:33:32 +0000 (00:33 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 14 Sep 2017 09:14:56 +0000 (12:14 +0300)
This way the caller doesn't have to do it.

src/lib-master/master-service.c
src/master/main.c

index e075a6e60ee84ecdd4e965af756c54aeebf44087..61fb08485accbe0111045dc8139497c111b3fec7 100644 (file)
@@ -551,7 +551,7 @@ void master_service_init_finish(struct master_service *service)
        master_status_update(service);
 }
 
-void master_service_import_environment(const char *import_environment)
+static void master_service_import_environment_real(const char *import_environment)
 {
        const char *const *envs, *key, *value;
        ARRAY_TYPE(const_string) keys;
@@ -582,6 +582,13 @@ void master_service_import_environment(const char *import_environment)
        env_put(t_strconcat(DOVECOT_PRESERVE_ENVS_ENV"=", value, NULL));
 }
 
+void master_service_import_environment(const char *import_environment)
+{
+       T_BEGIN {
+               master_service_import_environment_real(import_environment);
+       } T_END;
+}
+
 void master_service_env_clean(void)
 {
        const char *value = getenv(DOVECOT_PRESERVE_ENVS_ENV);
index a32ca57ae78cde436b3aa60858f88a0c3f68ea81..153b831e0ce446d7144f887726deffabc258d215 100644 (file)
@@ -818,11 +818,9 @@ int main(int argc, char *argv[])
        master_settings_do_fixes(set);
        fatal_log_check(set);
 
-       T_BEGIN {
-               const struct master_service_settings *service_set =
-                       master_service_settings_get(master_service);
-               master_service_import_environment(service_set->import_environment);
-       } T_END;
+       const struct master_service_settings *service_set =
+               master_service_settings_get(master_service);
+       master_service_import_environment(service_set->import_environment);
        master_service_env_clean();
 
        /* create service structures from settings. if there are any errors in