]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
MAILBOXDIR changes broke some setups.
authorTimo Sirainen <tss@iki.fi>
Wed, 18 Mar 2009 21:26:40 +0000 (17:26 -0400)
committerTimo Sirainen <tss@iki.fi>
Wed, 18 Mar 2009 21:26:40 +0000 (17:26 -0400)
--HG--
branch : HEAD

src/lib-storage/mailbox-list.c

index 5dfbf60ef59508d3845615ea576f0389aac661eb..f46b5ecb304e35d63a5e5977cfde22178803a8ad 100644 (file)
@@ -182,13 +182,6 @@ int mailbox_list_settings_parse(const char *data,
 
        if (set->index_dir != NULL && strcmp(set->index_dir, "MEMORY") == 0)
                set->index_dir = "";
-
-       if (set->mailbox_dir_name == NULL)
-               set->mailbox_dir_name = "";
-       else if (set->mailbox_dir_name[strlen(set->mailbox_dir_name)-1] != '/') {
-               set->mailbox_dir_name =
-                       t_strconcat(set->mailbox_dir_name, "/", NULL);
-       }
        return 0;
 }
 
@@ -221,8 +214,16 @@ void mailbox_list_init(struct mailbox_list *list, struct mail_namespace *ns,
        list->set.maildir_name =
                (list->props & MAILBOX_LIST_PROP_NO_MAILDIR_NAME) != 0 ? "" :
                p_strdup(list->pool, set->maildir_name);
-       list->set.mailbox_dir_name =
-               p_strdup(list->pool, set->mailbox_dir_name);
+
+       if (set->mailbox_dir_name == NULL)
+               list->set.mailbox_dir_name = "";
+       else if (set->mailbox_dir_name[strlen(set->mailbox_dir_name)-1] == '/') {
+               list->set.mailbox_dir_name =
+                       p_strdup(list->pool, set->mailbox_dir_name);
+       } else {
+               list->set.mailbox_dir_name =
+                       p_strconcat(list->pool, set->mailbox_dir_name, "/", NULL);
+       }
 
        list->set.mail_storage_flags = set->mail_storage_flags;
        list->set.lock_method = set->lock_method;