From 24ff040448e018738515f7bfcc6f1a6e5d08c10d Mon Sep 17 00:00:00 2001 From: Sergey Kitov Date: Mon, 7 Aug 2017 15:59:35 +0300 Subject: [PATCH] lib-storage: added settings updating function for the mail_storage_service user --- src/lib-storage/mail-storage-service.c | 10 ++++++++++ src/lib-storage/mail-storage-service.h | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index c0017adfed..2ef2050ff6 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -1706,3 +1706,13 @@ void *mail_storage_service_get_settings(struct master_service *service) } T_END; return set; } + +int mail_storage_service_user_set_setting(struct mail_storage_service_user *user, + const char *key, + const char *value, + const char **error_r) +{ + int ret = settings_parse_keyvalue(user->set_parser, key, value); + *error_r = settings_parser_get_error(user->set_parser); + return ret; +} diff --git a/src/lib-storage/mail-storage-service.h b/src/lib-storage/mail-storage-service.h index e047a719f6..e02e09ef90 100644 --- a/src/lib-storage/mail-storage-service.h +++ b/src/lib-storage/mail-storage-service.h @@ -160,5 +160,10 @@ const char *mail_storage_service_fields_var_expand(const char *data, const char *const *fields); /* Return the settings pointed to by set_root parameter in _init() */ void *mail_storage_service_get_settings(struct master_service *service); +/* Updates settings for storage service user, forwards return value of settings_parse_keyvalue() */ +int mail_storage_service_user_set_setting(struct mail_storage_service_user *user, + const char *key, + const char *value, + const char **error_r); #endif