changeset 9548:ac0a9729fe3c HEAD

Fixed shared namespace initialization.
author Timo Sirainen <tss@iki.fi>
date Sat, 27 Jun 2009 23:32:31 -0400
parents d2b2742dea75
children 43254b30c17f
files src/lib-storage/mail-storage.c
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-storage.c	Sat Jun 27 22:25:24 2009 -0400
+++ b/src/lib-storage/mail-storage.c	Sat Jun 27 23:32:31 2009 -0400
@@ -168,6 +168,10 @@
 
 	root_dir = mailbox_list_get_path(list, NULL,
 					 MAILBOX_LIST_PATH_TYPE_MAILBOX);
+	if (root_dir == NULL) {
+		/* storage doesn't use directories (e.g. shared root) */
+		return 0;
+	}
 	if (stat(root_dir, &st) == 0) {
 		/* ok */
 		return 0;
@@ -241,9 +245,12 @@
 	}
 
 	memset(&list_set, 0, sizeof(list_set));
-	if (data == NULL)
-		data = "";
-	else {
+	if (data == NULL) {
+		/* autodetect */
+	} else if (driver != NULL && strcmp(driver, "shared") == 0) {
+		/* internal shared namespace */
+		list_set.root_dir = ns->user->set->base_dir;
+	} else {
 		if (driver == NULL)
 			mail_storage_set_autodetection(&data, &driver);
 		if (mailbox_list_settings_parse(data, &list_set, ns,