Mercurial > dovecot > core-2.2
changeset 13440:3e1aad7bfd97
imapc: More fixes to listing mailbox names.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 09 Sep 2011 13:14:07 +0300 |
parents | 0801852b2156 |
children | 896ed71917aa |
files | src/lib-storage/index/imapc/imapc-list.c src/lib-storage/index/imapc/imapc-storage.c |
diffstat | 2 files changed, 9 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-list.c Fri Sep 09 13:05:33 2011 +0300 +++ b/src/lib-storage/index/imapc/imapc-list.c Fri Sep 09 13:14:07 2011 +0300 @@ -58,7 +58,8 @@ } static struct mailbox_node * -imapc_list_update_tree(struct mailbox_tree_context *tree, +imapc_list_update_tree(struct imapc_mailbox_list *list, + struct mailbox_tree_context *tree, const struct imap_arg *args) { struct mailbox_node *node; @@ -85,18 +86,13 @@ } T_BEGIN { - string_t *utf8_name = t_str_new(64); + const char *vname = + mailbox_list_default_get_vname(&list->list, name); - if (imap_utf7_to_utf8(name, utf8_name) < 0) { - str_truncate(utf8_name, 0); - str_append(utf8_name, name); - } if ((info_flags & MAILBOX_NONEXISTENT) != 0) - node = mailbox_tree_lookup(tree, str_c(utf8_name)); - else { - node = mailbox_tree_get(tree, str_c(utf8_name), - &created); - } + node = mailbox_tree_lookup(tree, vname); + else + node = mailbox_tree_get(tree, vname, &created); } T_END; if (node != NULL) node->flags = info_flags; @@ -123,7 +119,7 @@ if (list->mailboxes != NULL) mailbox_tree_set_separator(list->mailboxes, list->sep); } else { - (void)imapc_list_update_tree(list->mailboxes, args); + (void)imapc_list_update_tree(list, list->mailboxes, args); } } @@ -138,7 +134,7 @@ /* we haven't asked for the separator yet */ return; } - node = imapc_list_update_tree(list->tmp_subscriptions != NULL ? + node = imapc_list_update_tree(list, list->tmp_subscriptions != NULL ? list->tmp_subscriptions : list->list.subscriptions, args); if (node != NULL)
--- a/src/lib-storage/index/imapc/imapc-storage.c Fri Sep 09 13:05:33 2011 +0300 +++ b/src/lib-storage/index/imapc/imapc-storage.c Fri Sep 09 13:14:07 2011 +0300 @@ -5,7 +5,6 @@ #include "str.h" #include "imap-arg.h" #include "imap-resp-code.h" -#include "imap-utf7.h" #include "imapc-mail.h" #include "imapc-client-private.h" #include "imapc-connection.h"