dovecot-1.1: Fixed dbox to work with Maildir++ layout.

dovecot at dovecot.org dovecot at dovecot.org
Sat Nov 15 18:43:52 EET 2008


details:   http://hg.dovecot.org/dovecot-1.1/rev/503a87cbc368
changeset: 8003:503a87cbc368
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Nov 15 18:43:49 2008 +0200
description:
Fixed dbox to work with Maildir++ layout.

diffstat:

1 file changed, 9 insertions(+)
src/lib-storage/index/dbox/dbox-storage.c |    9 +++++++++

diffs (26 lines):

diff -r b3ed691fcc3f -r 503a87cbc368 src/lib-storage/index/dbox/dbox-storage.c
--- a/src/lib-storage/index/dbox/dbox-storage.c	Sat Nov 15 18:21:58 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-storage.c	Sat Nov 15 18:43:49 2008 +0200
@@ -98,6 +98,10 @@ static int dbox_create(struct mail_stora
 		return -1;
 	list_set.mail_storage_flags = &_storage->flags;
 	list_set.lock_method = &_storage->lock_method;
+
+	/* FIXME: ugly */
+	if (strcmp(layout, "maildir++") == 0 || strcmp(layout, "imapdir") == 0)
+		list_set.maildir_name = "";
 
 	if ((_storage->flags & MAIL_STORAGE_FLAG_NO_AUTOCREATE) != 0) {
 		if (stat(list_set.root_dir, &st) < 0) {
@@ -450,6 +454,11 @@ dbox_list_delete_mailbox(struct mailbox_
 		if (alt_path != NULL) {
 			if (dbox_delete_nonrecursive(list, alt_path, name) < 0)
 				return -1;
+		}
+		if (*list->set.maildir_name == '\0') {
+			/* everything was in the one directory that was
+			   already deleted succesfully. */
+			return 0;
 		}
 		/* try to delete the directory also */
 		deleted = TRUE;


More information about the dovecot-cvs mailing list