changeset 21315:56569adc701b

lib-storage: Deduplicate code into mailbox_list_settings_init_defaults()
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Thu, 15 Dec 2016 18:13:34 +0200
parents 525afe75d978
children 72af7bbcb8e2
files 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
diffstat 4 files changed, 11 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-list.c	Fri Dec 16 18:52:23 2016 +0200
+++ b/src/lib-storage/index/imapc/imapc-list.c	Thu Dec 15 18:13:34 2016 +0200
@@ -388,13 +388,11 @@
 	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,
--- a/src/lib-storage/mail-storage.c	Fri Dec 16 18:52:23 2016 +0200
+++ b/src/lib-storage/mail-storage.c	Thu Dec 15 18:13:34 2016 +0200
@@ -334,9 +334,7 @@
 		}
 	}
 
-	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) {
--- a/src/lib-storage/mailbox-list-private.h	Fri Dec 16 18:52:23 2016 +0200
+++ b/src/lib-storage/mailbox-list-private.h	Thu Dec 15 18:13:34 2016 +0200
@@ -172,6 +172,7 @@
 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);
--- a/src/lib-storage/mailbox-list.c	Fri Dec 16 18:52:23 2016 +0200
+++ b/src/lib-storage/mailbox-list.c	Thu Dec 15 18:13:34 2016 +0200
@@ -261,6 +261,13 @@
 	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 @@
 
 	*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;