From: Timo Sirainen Date: Sun, 2 Oct 2011 13:55:45 +0000 (+0300) Subject: mailbox list indexes: Use storage names instead of virtual names. X-Git-Tag: 2.1.beta1~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=684273742264be1fc734d18f8443cd07008be42e;p=thirdparty%2Fdovecot%2Fcore.git mailbox list indexes: Use storage names instead of virtual names. --- diff --git a/src/lib-storage/list/index-mailbox-list-status.c b/src/lib-storage/list/index-mailbox-list-status.c index 467fc3d41b..1391f5ff97 100644 --- a/src/lib-storage/list/index-mailbox-list-status.c +++ b/src/lib-storage/list/index-mailbox-list-status.c @@ -33,7 +33,7 @@ index_list_mailbox_open_view(struct mailbox *box, if (index_mailbox_list_refresh(box->list) < 0) return -1; - node = index_mailbox_list_lookup(box->list, box->vname); + node = index_mailbox_list_lookup(box->list, box->name); if (node == NULL) { /* mailbox not found */ return 0; @@ -248,7 +248,7 @@ index_list_update_mailbox(struct mailbox *box, struct mail_index_view *view) struct mailbox_status status; uint32_t seq, seq1, seq2; - node = index_mailbox_list_lookup(box->list, box->vname); + node = index_mailbox_list_lookup(box->list, box->name); if (node == NULL) { index_mailbox_list_refresh_later(box->list); return; diff --git a/src/lib-storage/list/index-mailbox-list.c b/src/lib-storage/list/index-mailbox-list.c index b62b5362e4..c912eb29e6 100644 --- a/src/lib-storage/list/index-mailbox-list.c +++ b/src/lib-storage/list/index-mailbox-list.c @@ -106,7 +106,7 @@ index_mailbox_node_add(struct index_mailbox_list_sync_context *ctx, } struct index_mailbox_node * -index_mailbox_list_lookup(struct mailbox_list *list, const char *vname) +index_mailbox_list_lookup(struct mailbox_list *list, const char *name) { struct index_mailbox_list *ilist = INDEX_LIST_CONTEXT(list); struct index_mailbox_node *node; @@ -118,8 +118,8 @@ index_mailbox_list_lookup(struct mailbox_list *list, const char *vname) unsigned int i; char sep[2]; - sep[0] = mail_namespace_get_sep(list->ns); sep[1] = '\0'; - path = t_strsplit(vname, sep); + sep[0] = mailbox_list_get_hierarchy_sep(list); sep[1] = '\0'; + path = t_strsplit(name, sep); node = ilist->mailbox_tree; for (i = 0;; i++) { node = index_mailbox_node_find_sibling(node, path[i]); @@ -289,7 +289,7 @@ static int index_mailbox_list_sync(struct mailbox_list *list) memset(&sync_ctx, 0, sizeof(sync_ctx)); sync_ctx.ilist = ilist; - sync_ctx.sep[0] = mail_namespace_get_sep(list->ns); + sync_ctx.sep[0] = mailbox_list_get_hierarchy_sep(list); if (mail_index_sync_begin(ilist->index, &sync_ctx.sync_ctx, &sync_ctx.view, &sync_ctx.trans, MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES) < 0) @@ -326,8 +326,11 @@ static int index_mailbox_list_sync(struct mailbox_list *list) flags |= MAILBOX_LIST_INDEX_FLAG_NOINFERIORS; T_BEGIN { + const char *name = + mailbox_list_get_storage_name(info->ns->list, + info->name); seq = index_mailbox_list_sync_name(&sync_ctx, - info->name, flags); + name, flags); } T_END; mail_index_update_flags(sync_ctx.trans, seq, diff --git a/src/lib-storage/list/index-mailbox-list.h b/src/lib-storage/list/index-mailbox-list.h index a49abbccf3..ad21f392f5 100644 --- a/src/lib-storage/list/index-mailbox-list.h +++ b/src/lib-storage/list/index-mailbox-list.h @@ -97,7 +97,7 @@ extern MODULE_CONTEXT_DEFINE(index_mailbox_list_module, &mailbox_list_module_register); struct index_mailbox_node * -index_mailbox_list_lookup(struct mailbox_list *list, const char *vname); +index_mailbox_list_lookup(struct mailbox_list *list, const char *name); int index_mailbox_list_refresh(struct mailbox_list *list); void index_mailbox_list_refresh_later(struct mailbox_list *list);