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,
}
}
- 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) {
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);
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,
*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;