changeset 6978:4fb1b0f43d60 HEAD

mail_storage_create() now finishes namespace initialization so namespaces can be created more easily.
author Timo Sirainen <tss@iki.fi>
date Sun, 09 Dec 2007 15:50:24 +0200
parents 038467bffcbd
children 1029b2ffad2d
files src/lib-storage/mail-namespace.c src/lib-storage/mail-namespace.h src/lib-storage/mail-storage.c
diffstat 3 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-namespace.c	Sun Dec 09 15:48:38 2007 +0200
+++ b/src/lib-storage/mail-namespace.c	Sun Dec 09 15:50:24 2007 +0200
@@ -10,7 +10,7 @@
 
 void (*hook_mail_namespaces_created)(struct mail_namespace *namespaces);
 
-static void namespace_init_storage(struct mail_namespace *ns)
+void mail_namespace_init_storage(struct mail_namespace *ns)
 {
 	ns->list = mail_storage_get_list(ns->storage);
 	ns->prefix_len = strlen(ns->prefix);
@@ -83,7 +83,6 @@
 
 	if (sep != NULL)
 		ns->sep = *sep;
-        namespace_init_storage(ns);
 	return ns;
 }
 
@@ -249,8 +248,6 @@
 		}
 		return -1;
 	}
-
-	namespace_init_storage(ns);
 	*namespaces_r = ns;
 
 	if (hook_mail_namespaces_created != NULL) {
--- a/src/lib-storage/mail-namespace.h	Sun Dec 09 15:48:38 2007 +0200
+++ b/src/lib-storage/mail-namespace.h	Sun Dec 09 15:50:24 2007 +0200
@@ -85,4 +85,7 @@
 mail_namespace_find_prefix_nosep(struct mail_namespace *namespaces,
 				 const char *prefix);
 
+/* Called internally by mail_storage_create(). */
+void mail_namespace_init_storage(struct mail_namespace *ns);
+
 #endif
--- a/src/lib-storage/mail-storage.c	Sun Dec 09 15:48:38 2007 +0200
+++ b/src/lib-storage/mail-storage.c	Sun Dec 09 15:50:24 2007 +0200
@@ -254,6 +254,7 @@
 	}
 
 	ns->storage = storage;
+        mail_namespace_init_storage(ns);
 	return 0;
 }