From a6c32606655cf7fa370f19a2ae5fdf1e2a992549 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 15 Dec 2016 18:13:34 +0200 Subject: [PATCH] lib-storage: Deduplicate code into mailbox_list_settings_init_defaults() --- src/lib-storage/index/imapc/imapc-list.c | 4 +--- src/lib-storage/mail-storage.c | 4 +--- src/lib-storage/mailbox-list-private.h | 1 + src/lib-storage/mailbox-list.c | 12 ++++++++---- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/lib-storage/index/imapc/imapc-list.c b/src/lib-storage/index/imapc/imapc-list.c index 2d92a350d2..ff28d806ac 100644 --- a/src/lib-storage/index/imapc/imapc-list.c +++ b/src/lib-storage/index/imapc/imapc-list.c @@ -388,13 +388,11 @@ static struct mailbox_list *imapc_list_get_fs(struct imapc_mailbox_list *list) if (dir == NULL) { /* indexes disabled */ } else if (list->index_list == NULL && !list->index_list_failed) { - memset(&list_set, 0, sizeof(list_set)); + mailbox_list_settings_init_defaults(&list_set); list_set.layout = MAILBOX_LIST_NAME_MAILDIRPLUSPLUS; list_set.root_dir = dir; list_set.escape_char = IMAPC_LIST_ESCAPE_CHAR; list_set.broken_char = IMAPC_LIST_BROKEN_CHAR; - list_set.mailbox_dir_name = ""; - list_set.maildir_name = ""; if (mailbox_list_create(list_set.layout, list->list.ns, &list_set, MAILBOX_LIST_FLAG_SECONDARY, diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 73f8b46a53..d6a39941ad 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -334,9 +334,7 @@ int mail_storage_create_full(struct mail_namespace *ns, const char *driver, } } - memset(&list_set, 0, sizeof(list_set)); - list_set.mailbox_dir_name = ""; - list_set.maildir_name = ""; + mailbox_list_settings_init_defaults(&list_set); if (data == NULL) { /* autodetect */ } else if (driver != NULL && strcmp(driver, "shared") == 0) { diff --git a/src/lib-storage/mailbox-list-private.h b/src/lib-storage/mailbox-list-private.h index 2167e30f6b..74c3b76f31 100644 --- a/src/lib-storage/mailbox-list-private.h +++ b/src/lib-storage/mailbox-list-private.h @@ -172,6 +172,7 @@ extern struct mailbox_list_module_register mailbox_list_module_register; void mailbox_lists_init(void); void mailbox_lists_deinit(void); +void mailbox_list_settings_init_defaults(struct mailbox_list_settings *set_r); int mailbox_list_settings_parse(struct mail_user *user, const char *data, struct mailbox_list_settings *set_r, const char **error_r); diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 4d3fe2343b..b0e37f2442 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -261,6 +261,13 @@ static const char *split_next_arg(const char *const **_args) return str; } +void mailbox_list_settings_init_defaults(struct mailbox_list_settings *set_r) +{ + memset(set_r, 0, sizeof(*set_r)); + set_r->mailbox_dir_name = ""; + set_r->maildir_name = ""; +} + static int mailbox_list_settings_parse_full(struct mail_user *user, const char *data, bool expand_home, @@ -271,10 +278,7 @@ mailbox_list_settings_parse_full(struct mail_user *user, const char *data, *error_r = NULL; - memset(set_r, 0, sizeof(*set_r)); - set_r->maildir_name = ""; - set_r->mailbox_dir_name = ""; - + mailbox_list_settings_init_defaults(set_r); if (*data == '\0') return 0; -- 2.47.3