shared-list.c revision 74ebeb391b7d0e34e4eadbe7855fb4356de3077d
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody/* Copyright (c) 2008-2013 Dovecot authors, see the included COPYING file */
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmodystatic struct mailbox_list *shared_list_alloc(void)
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody pool = pool_alloconly_create("shared list", 2048);
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmodystatic void shared_list_deinit(struct mailbox_list *list)
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmodystatic void shared_list_copy_error(struct mailbox_list *shared_list,
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody const char *str;
ddf9529d37056f8817825f6265c27d8070123013Timo Sirainen str = mailbox_list_get_last_error(backend_ns->list, &error);
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody mailbox_list_set_error(shared_list, error, str);
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmodyshared_get_storage(struct mailbox_list **list, const char *vname,
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody name = mailbox_list_get_storage_name(*list, vname);
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody if (*name == '\0' && (ns->flags & NAMESPACE_FLAG_AUTOCREATED) == 0) {
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody /* trying to access the shared/ prefix itself */
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody if (shared_storage_get_namespace(&ns, &name) < 0)
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmodystatic char shared_list_get_hierarchy_sep(struct mailbox_list *list ATTR_UNUSED)
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmodyshared_list_get_path(struct mailbox_list *list, const char *name,
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody enum mailbox_list_path_type type, const char **path_r)
458d877d84f62005e0ffc338f8591a8e2a36adadStephan Bosch if (list->ns->storage == NULL || name == NULL ||
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody shared_storage_get_namespace(&ns, &name) < 0) {
6335b1be387359ac461b0c34087bbba98a925a49Phil Carmody /* we don't have a directory we can use. */
return NULL;
return pattern;
const char *const *patterns)
if (*p == sep)
last = p;
static struct mailbox_list_iterate_context *
} T_END;
return ctx;
static const struct mailbox_info *
return NULL;
char sep;
int ret;
if (ret < 0)
return ret;
int ret;
if (ret < 0)
return ret;
int ret;
if (ret < 0)
return ret;
int ret;
if (ret < 0)
return ret;
const char **oldname,
const char **newname,
int ret;
if (ret < 0)
return ret;
.props = 0,
NULL,
NULL,
NULL,