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