From 5ff3080306917811142be4e84d22e37904e73aa4 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 8 Feb 2023 01:25:47 +0200 Subject: [PATCH] lib-storage: Don't keep mail_user.set_parser referenced It's always just a direct pointer to service_userr->set_parser, so the reference isn't needed. Also the following changes will change this to a non-reference counted "settings instance", which makes this change necessary. --- src/lib-storage/mail-user.c | 2 -- src/lib-storage/mail-user.h | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib-storage/mail-user.c b/src/lib-storage/mail-user.c index 9add4c930f..b35e8be350 100644 --- a/src/lib-storage/mail-user.c +++ b/src/lib-storage/mail-user.c @@ -95,7 +95,6 @@ mail_user_alloc(struct mail_storage_service_user *service_user) mail_storage_service_user_ref(service_user); user->username = p_strdup(pool, username); user->set_parser = service_user_set_parser; - settings_parser_ref(user->set_parser); user->set = mail_storage_service_user_get_set(service_user); user->service = master_service_get_name(master_service); user->default_normalizer = uni_utf8_to_decomposed_titlecase; @@ -233,7 +232,6 @@ void mail_user_unref(struct mail_user **_user) user->v.deinit_pre(user); user->v.deinit(user); } T_END; - settings_parser_unref(&user->set_parser); master_service_settings_free(user->_mail_set); event_unref(&user->event); i_assert(user->refcount == 1); diff --git a/src/lib-storage/mail-user.h b/src/lib-storage/mail-user.h index cfa7ddf816..a34f0e6fe8 100644 --- a/src/lib-storage/mail-user.h +++ b/src/lib-storage/mail-user.h @@ -57,6 +57,7 @@ struct mail_user { This could be set by plugins that need to fail the initialization. */ const char *error; + /* Points to service_user->set_parser */ struct setting_parser_context *set_parser; const struct mail_user_settings *set; struct mail_storage_settings *_mail_set; -- 2.47.3