dovecot-2.0: lib-storage: Removed some code duplication.

dovecot at dovecot.org dovecot at dovecot.org
Mon Feb 15 02:13:16 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/0bcb415c7a71
changeset: 10717:0bcb415c7a71
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Feb 15 02:13:14 2010 +0200
description:
lib-storage: Removed some code duplication.

diffstat:

 src/lib-storage/index/cydir/cydir-save.c       |   5 -----
 src/lib-storage/index/dbox-multi/mdbox-save.c  |   5 -----
 src/lib-storage/index/dbox-single/sdbox-save.c |   5 -----
 src/lib-storage/index/maildir/maildir-copy.c   |   5 -----
 src/lib-storage/index/maildir/maildir-save.c   |   5 -----
 src/lib-storage/index/mbox/mbox-save.c         |   5 -----
 src/lib-storage/mail-storage.c                 |  12 ++++++++++++
 7 files changed, 12 insertions(+), 30 deletions(-)

diffs (119 lines):

diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/index/cydir/cydir-save.c
--- a/src/lib-storage/index/cydir/cydir-save.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/index/cydir/cydir-save.c	Mon Feb 15 02:13:14 2010 +0200
@@ -84,11 +84,6 @@
 	enum mail_flags save_flags;
 	struct istream *crlf_input;
 
-	if (mail_index_is_deleted(trans->box->index)) {
-		mailbox_set_deleted(trans->box);
-		return -1;
-	}
-
 	T_BEGIN {
 		const char *path;
 
diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/index/dbox-multi/mdbox-save.c
--- a/src/lib-storage/index/dbox-multi/mdbox-save.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-save.c	Mon Feb 15 02:13:14 2010 +0200
@@ -97,11 +97,6 @@
 	struct dbox_save_mail *save_mail;
 	uoff_t mail_size, append_offset;
 
-	if (mail_index_is_deleted(_ctx->transaction->box->index)) {
-		mailbox_set_deleted(_ctx->transaction->box);
-		return -1;
-	}
-
 	/* get the size of the mail to be saved, if possible */
 	if (i_stream_get_size(input, TRUE, &mail_size) <= 0) {
 		const struct stat *st;
diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/index/dbox-single/sdbox-save.c
--- a/src/lib-storage/index/dbox-single/sdbox-save.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/index/dbox-single/sdbox-save.c	Mon Feb 15 02:13:14 2010 +0200
@@ -78,11 +78,6 @@
 	struct dbox_file *file;
 	int ret;
 
-	if (mail_index_is_deleted(_ctx->transaction->box->index)) {
-		mailbox_set_deleted(_ctx->transaction->box);
-		return -1;
-	}
-
 	file = sdbox_file_init(ctx->mbox, 0);
 	ctx->append_ctx = dbox_file_append_init(file);
 	ret = dbox_file_get_append_stream(ctx->append_ctx,
diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/index/maildir/maildir-copy.c
--- a/src/lib-storage/index/maildir/maildir-copy.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/index/maildir/maildir-copy.c	Mon Feb 15 02:13:14 2010 +0200
@@ -170,11 +170,6 @@
 		return 0;
 	}
 
-	if (mail_index_is_deleted(dest_mbox->box.index)) {
-		mailbox_set_deleted(&dest_mbox->box);
-		return -1;
-	}
-
 	memset(&do_ctx, 0, sizeof(do_ctx));
 	do_ctx.dest_path = str_new(default_pool, 512);
 
diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/index/maildir/maildir-save.c
--- a/src/lib-storage/index/maildir/maildir-save.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/index/maildir/maildir-save.c	Mon Feb 15 02:13:14 2010 +0200
@@ -305,11 +305,6 @@
 	string_t *path;
 	int fd;
 
-	if (mail_index_is_deleted(mbox->box.index)) {
-		mailbox_set_deleted(box);
-		return -1;
-	}
-
 	path = t_str_new(256);
 	str_append(path, dir);
 	str_append_c(path, '/');
diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/index/mbox/mbox-save.c
--- a/src/lib-storage/index/mbox/mbox-save.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/index/mbox/mbox-save.c	Mon Feb 15 02:13:14 2010 +0200
@@ -261,11 +261,6 @@
 		return -1;
 	}
 
-	if (mail_index_is_deleted(mbox->box.index)) {
-		mailbox_set_deleted(&mbox->box);
-		return -1;
-	}
-
 	if ((_t->flags & MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS) != 0 ||
 	    ctx->ctx.uid != 0)
 		want_mail = TRUE;
diff -r 14b287a3523e -r 0bcb415c7a71 src/lib-storage/mail-storage.c
--- a/src/lib-storage/mail-storage.c	Mon Feb 15 02:08:02 2010 +0200
+++ b/src/lib-storage/mail-storage.c	Mon Feb 15 02:13:14 2010 +0200
@@ -1188,6 +1188,11 @@
 	struct mailbox *box = (*ctx)->transaction->box;
 	int ret;
 
+	if (mail_index_is_deleted(box->index)) {
+		mailbox_set_deleted(box);
+		return -1;
+	}
+
 	if (box->v.save_begin == NULL) {
 		mail_storage_set_error(box->storage, MAIL_ERROR_NOTPOSSIBLE,
 				       "Saving messages not supported");
@@ -1242,6 +1247,13 @@
 	int ret;
 
 	*_ctx = NULL;
+
+	if (mail_index_is_deleted(box->index)) {
+		mailbox_set_deleted(box);
+		mailbox_save_cancel(_ctx);
+		return -1;
+	}
+
 	ret = ctx->transaction->box->v.copy(ctx, mail);
 	if (keywords != NULL)
 		mailbox_keywords_unref(box, &keywords);


More information about the dovecot-cvs mailing list