From 2eb0402a28bd0422e0170160808c67d6c7274689 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 4 Jun 2009 15:28:46 -0400 Subject: [PATCH] lib-storage: Avoid wasting data stack usage. --HG-- branch : HEAD --- src/lib-storage/mail-storage-service.c | 33 +++++++++++++++++++------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index 66fb10756e..e676c5bb73 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -459,11 +459,11 @@ mail_storage_service_init_log(struct master_service *service, } T_END; } -struct mail_user * -mail_storage_service_init_user(struct master_service *service, - const struct mail_storage_service_input *_input, - const struct setting_parser_info *set_roots[], - enum mail_storage_service_flags flags) +static struct mail_user * +init_user_real(struct master_service *service, + const struct mail_storage_service_input *_input, + const struct setting_parser_info *set_roots[], + enum mail_storage_service_flags flags) { struct mail_storage_service_input input = *_input; const struct master_service_settings *set; @@ -550,6 +550,20 @@ mail_storage_service_init_user(struct master_service *service, return mail_user; } +struct mail_user * +mail_storage_service_init_user(struct master_service *service, + const struct mail_storage_service_input *_input, + const struct setting_parser_info *set_roots[], + enum mail_storage_service_flags flags) +{ + struct mail_user *user; + + T_BEGIN { + user = init_user_real(service, _input, set_roots, flags); + } T_END; + return user; +} + void mail_storage_service_deinit_user(void) { module_dir_unload(&modules); @@ -728,8 +742,11 @@ void *mail_storage_service_multi_user_get_set(struct mail_storage_service_multi_ void *mail_storage_service_get_settings(struct master_service *service) { - void **sets; + void **sets, *set; - sets = master_service_settings_get_others(service); - return sets[1]; + T_BEGIN { + sets = master_service_settings_get_others(service); + set = sets[1]; + } T_END; + return set; } -- 2.47.3