if (dir == NULL)
dir = list->list.set.root_dir;
- if (dir == NULL) {
+ if (dir == NULL || dir[0] == '\0') {
/* indexes disabled */
} else if (list->index_list == NULL && !list->index_list_failed) {
mailbox_list_settings_init_defaults(&list_set);
i_assert(list->refreshed_mailboxes_recently);
}
+ if (list->mailboxes == NULL) {
+ /* imapc list isn't used, but e.g. LAYOUT=none */
+ *flags_r = 0;
+ return 0;
+ }
node = mailbox_tree_lookup(list->mailboxes, vname);
if (node == NULL)
*flags_r = MAILBOX_NONEXISTENT;
imapc_storage_get_list_settings(const struct mail_namespace *ns ATTR_UNUSED,
struct mailbox_list_settings *set)
{
- set->layout = MAILBOX_LIST_NAME_IMAPC;
+ if (set->layout == NULL)
+ set->layout = MAILBOX_LIST_NAME_IMAPC;
set->escape_char = IMAPC_LIST_ESCAPE_CHAR;
}