comparison src/lib-master/master-service.c @ 22488:052396bac097

lib-master: master_service_import_environment() - use a data stack frame This way the caller doesn't have to do it.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 08 Jun 2017 00:33:32 +0300
parents e60f0e893992
children a9c51256847e
comparison
equal deleted inserted replaced
22487:e60f0e893992 22488:052396bac097
549 service->master_status.available_count--; 549 service->master_status.available_count--;
550 } 550 }
551 master_status_update(service); 551 master_status_update(service);
552 } 552 }
553 553
554 void master_service_import_environment(const char *import_environment) 554 static void master_service_import_environment_real(const char *import_environment)
555 { 555 {
556 const char *const *envs, *key, *value; 556 const char *const *envs, *key, *value;
557 ARRAY_TYPE(const_string) keys; 557 ARRAY_TYPE(const_string) keys;
558 558
559 if (*import_environment == '\0') 559 if (*import_environment == '\0')
578 } 578 }
579 array_append_zero(&keys); 579 array_append_zero(&keys);
580 580
581 value = t_strarray_join(array_idx(&keys, 0), " "); 581 value = t_strarray_join(array_idx(&keys, 0), " ");
582 env_put(t_strconcat(DOVECOT_PRESERVE_ENVS_ENV"=", value, NULL)); 582 env_put(t_strconcat(DOVECOT_PRESERVE_ENVS_ENV"=", value, NULL));
583 }
584
585 void master_service_import_environment(const char *import_environment)
586 {
587 T_BEGIN {
588 master_service_import_environment_real(import_environment);
589 } T_END;
583 } 590 }
584 591
585 void master_service_env_clean(void) 592 void master_service_env_clean(void)
586 { 593 {
587 const char *value = getenv(DOVECOT_PRESERVE_ENVS_ENV); 594 const char *value = getenv(DOVECOT_PRESERVE_ENVS_ENV);