.alloc = imapc_list_alloc,
.init = imapc_list_init,
.deinit = imapc_list_deinit,
+ .get_storage = mailbox_list_default_get_storage,
.get_hierarchy_sep = imapc_list_get_hierarchy_sep,
.get_vname = imapc_list_get_vname,
.get_storage_name = imapc_list_get_storage_name,
.v = {
.alloc = fs_list_alloc,
.deinit = fs_list_deinit,
+ .get_storage = mailbox_list_default_get_storage,
.get_hierarchy_sep = fs_list_get_hierarchy_sep,
.get_vname = mailbox_list_default_get_vname,
.get_storage_name = mailbox_list_default_get_storage_name,
.alloc = index_list_alloc,
.init = index_list_init,
.deinit = index_list_deinit,
+ .get_storage = mailbox_list_default_get_storage,
.get_hierarchy_sep = index_list_get_hierarchy_sep,
.get_vname = mailbox_list_default_get_vname,
.get_storage_name = mailbox_list_default_get_storage_name,
.v = {
.alloc = maildir_list_alloc,
.deinit = maildir_list_deinit,
+ .get_storage = mailbox_list_default_get_storage,
.get_hierarchy_sep = maildir_list_get_hierarchy_sep,
.get_vname = mailbox_list_default_get_vname,
.get_storage_name = mailbox_list_default_get_storage_name,
.v = {
.alloc = imapdir_list_alloc,
.deinit = maildir_list_deinit,
+ .get_storage = mailbox_list_default_get_storage,
.get_hierarchy_sep = maildir_list_get_hierarchy_sep,
.get_vname = mailbox_list_default_get_vname,
.get_storage_name = mailbox_list_default_get_storage_name,
.v = {
.alloc = none_list_alloc,
.deinit = none_list_deinit,
+ .get_storage = mailbox_list_default_get_storage,
.get_hierarchy_sep = none_list_get_hierarchy_sep,
.get_vname = mailbox_list_default_get_vname,
.get_storage_name = mailbox_list_default_get_storage_name,
mailbox_list_unescape_name_params(const char *src, const char *ns_prefix,
char ns_sep, char list_sep, char escape_char);
+int mailbox_list_default_get_storage(struct mailbox_list **list,
+ const char **vname,
+ enum mailbox_list_get_storage_flags flags,
+ struct mail_storage **storage_r);
const char *mailbox_list_default_get_storage_name(struct mailbox_list *list,
const char *vname);
const char *mailbox_list_default_get_vname(struct mailbox_list *list,
return 0;
}
-int mailbox_list_get_storage(struct mailbox_list **list, const char **vname,
- enum mailbox_list_get_storage_flags flags,
- struct mail_storage **storage_r)
+int mailbox_list_default_get_storage(struct mailbox_list **list,
+ const char **vname,
+ enum mailbox_list_get_storage_flags flags ATTR_UNUSED,
+ struct mail_storage **storage_r)
{
const struct mailbox_settings *set;
- if ((*list)->v.get_storage != NULL)
- return (*list)->v.get_storage(list, vname, flags, storage_r);
-
set = mailbox_settings_find((*list)->ns, *vname);
if (set != NULL && set->driver != NULL && set->driver[0] != '\0') {
return mailbox_list_get_storage_driver(*list, set->driver,
return 0;
}
+int mailbox_list_get_storage(struct mailbox_list **list, const char **vname,
+ enum mailbox_list_get_storage_flags flags,
+ struct mail_storage **storage_r)
+{
+ return (*list)->v.get_storage(list, vname, flags, storage_r);
+}
+
void mailbox_list_get_default_storage(struct mailbox_list *list,
struct mail_storage **storage)
{