]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Deduplicate code into mailbox_list_settings_init_defaults()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 15 Dec 2016 16:13:34 +0000 (18:13 +0200)
committerGitLab <gitlab@git.dovecot.net>
Fri, 16 Dec 2016 21:08:21 +0000 (23:08 +0200)
src/lib-storage/index/imapc/imapc-list.c
src/lib-storage/mail-storage.c
src/lib-storage/mailbox-list-private.h
src/lib-storage/mailbox-list.c

index 2d92a350d208c36607d5964db0cde995d7ae0b8f..ff28d806ac8f093b875c4880fe3eb0cf1945634b 100644 (file)
@@ -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,
index 73f8b46a533a514d9fa3a24138dbe9716381ac44..d6a39941ad504c7d29bf3ed953c9e9ceb137041a 100644 (file)
@@ -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) {
index e0659ca2333f53c91104fcc75c1c5d46f303f564..13fb1f5b4436f71b0aaa6f4f9ba3f725ce2c4140 100644 (file)
@@ -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);
index 93732b5ef3b84db00a89517878006b0513562c2e..76a5a954d172a737266fbc20e75b54f1d32ab12e 100644 (file)
@@ -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;