dovecot-2.0: layout=maildir++: Fixed deleting mailboxes with mai...

dovecot at dovecot.org dovecot at dovecot.org
Mon Apr 5 01:06:06 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/59445c4055ab
changeset: 11035:59445c4055ab
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Apr 05 00:36:17 2010 +0300
description:
layout=maildir++: Fixed deleting mailboxes with mailbox=file storages (e.g. mbox)

diffstat:

 src/lib-storage/list/mailbox-list-maildir.c |  21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 deletions(-)

diffs (42 lines):

diff -r 4a8f0388e854 -r 59445c4055ab src/lib-storage/list/mailbox-list-maildir.c
--- a/src/lib-storage/list/mailbox-list-maildir.c	Mon Apr 05 00:29:23 2010 +0300
+++ b/src/lib-storage/list/mailbox-list-maildir.c	Mon Apr 05 00:36:17 2010 +0300
@@ -397,17 +397,11 @@
 }
 
 static int
-maildir_list_delete_mailbox(struct mailbox_list *list, const char *name)
+maildir_list_delete_maildir(struct mailbox_list *list, const char *name)
 {
 	const char *path, *trash_dir;
 	int ret = 0;
 
-	if ((list->flags & MAILBOX_LIST_FLAG_MAILBOX_FILES) != 0) {
-		if (mailbox_list_delete_mailbox_file(list, name) < 0)
-			return -1;
-		ret = 1;
-	}
-
 	trash_dir = mailbox_list_maildir_get_trash_dir(list);
 	ret = mailbox_list_delete_maildir_via_trash(list, name, trash_dir);
 	if (ret < 0)
@@ -422,6 +416,19 @@
 							     path, TRUE) < 0)
 			return -1;
 	}
+	return 0;
+}
+
+static int
+maildir_list_delete_mailbox(struct mailbox_list *list, const char *name)
+{
+	if ((list->flags & MAILBOX_LIST_FLAG_MAILBOX_FILES) != 0) {
+		if (mailbox_list_delete_mailbox_file(list, name) < 0)
+			return -1;
+	} else {
+		if (maildir_list_delete_maildir(list, name) < 0)
+			return -1;
+	}
 
 	mailbox_list_delete_finish(list, name);
 	return 0;


More information about the dovecot-cvs mailing list