]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
listescape: Fixed to work with dynamically created shared namespaces.
authorTimo Sirainen <tss@iki.fi>
Fri, 14 Aug 2009 22:47:07 +0000 (18:47 -0400)
committerTimo Sirainen <tss@iki.fi>
Fri, 14 Aug 2009 22:47:07 +0000 (18:47 -0400)
--HG--
branch : HEAD

src/plugins/listescape/listescape-plugin.c

index ec157152f6c5cf1d646ad55d8e481f03363cbe0a..e6029932aaa90c51330f0d4dbd57da2baf0af6a3 100644 (file)
@@ -36,8 +36,6 @@ static void (*listescape_next_hook_mail_storage_created)
        (struct mail_storage *storage);
 static void (*listescape_next_hook_mailbox_list_created)
        (struct mailbox_list *list);
-static void (*listescape_next_hook_mail_namespaces_created)
-       (struct mail_namespace *namespaces);
 
 static MODULE_CONTEXT_DEFINE_INIT(listescape_storage_module,
                                  &mail_storage_module_register);
@@ -322,6 +320,8 @@ static void listescape_mailbox_list_created(struct mailbox_list *list)
        if (list->hierarchy_sep == list->ns->sep)
                return;
 
+       list->ns->real_sep = list->ns->sep;
+
        mlist = p_new(list->pool, struct listescape_mailbox_list, 1);
        mlist->module_ctx.super = list->v;
        mlist->list_name = str_new(list->pool, 256);
@@ -342,20 +342,6 @@ static void listescape_mailbox_list_created(struct mailbox_list *list)
        MODULE_CONTEXT_SET(list, listescape_list_module, mlist);
 }
 
-static void
-listescape_mail_namespaces_created(struct mail_namespace *namespaces)
-{
-       struct mail_namespace *ns = namespaces;
-
-       for (ns = namespaces; ns != NULL; ns = ns->next) {
-               if (ns->real_sep != ns->sep)
-                       ns->real_sep = ns->sep;
-       }
-
-       if (listescape_next_hook_mail_namespaces_created != NULL)
-               listescape_next_hook_mail_namespaces_created(namespaces);
-}
-
 void listescape_plugin_init(void)
 {
        listescape_next_hook_mail_storage_created = hook_mail_storage_created;
@@ -363,16 +349,10 @@ void listescape_plugin_init(void)
 
        listescape_next_hook_mailbox_list_created = hook_mailbox_list_created;
        hook_mailbox_list_created = listescape_mailbox_list_created;
-
-       listescape_next_hook_mail_namespaces_created =
-               hook_mail_namespaces_created;
-       hook_mail_namespaces_created = listescape_mail_namespaces_created;
 }
 
 void listescape_plugin_deinit(void)
 {
        hook_mail_storage_created = listescape_next_hook_mail_storage_created;
        hook_mailbox_list_created = listescape_next_hook_mailbox_list_created;
-       hook_mail_namespaces_created =
-               listescape_next_hook_mail_namespaces_created;
 }