]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mailbox list indexes: Use storage names instead of virtual names.
authorTimo Sirainen <tss@iki.fi>
Sun, 2 Oct 2011 13:55:45 +0000 (16:55 +0300)
committerTimo Sirainen <tss@iki.fi>
Sun, 2 Oct 2011 13:55:45 +0000 (16:55 +0300)
src/lib-storage/list/index-mailbox-list-status.c
src/lib-storage/list/index-mailbox-list.c
src/lib-storage/list/index-mailbox-list.h

index 467fc3d41b7e9c06199e8de5c7e2453c5d880d83..1391f5ff976e6db9c0db3c59398ae52b5cf5b138 100644 (file)
@@ -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;
index b62b5362e44c04ac972272b4a737813acf2b28a9..c912eb29e628de592b43c4d422127fbc9ea87d29 100644 (file)
@@ -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,
index a49abbccf30299c394605b2a6fb74a25d657a469..ad21f392f54265ca032f1ad502a795ce0fa47741 100644 (file)
@@ -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);