Mercurial > dovecot > core-2.2
changeset 10717:0bcb415c7a71 HEAD
lib-storage: Removed some code duplication.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 15 Feb 2010 02:13:14 +0200 |
parents | 14b287a3523e |
children | e8fc01d03aea |
files | src/lib-storage/index/cydir/cydir-save.c src/lib-storage/index/dbox-multi/mdbox-save.c src/lib-storage/index/dbox-single/sdbox-save.c src/lib-storage/index/maildir/maildir-copy.c src/lib-storage/index/maildir/maildir-save.c src/lib-storage/index/mbox/mbox-save.c src/lib-storage/mail-storage.c |
diffstat | 7 files changed, 12 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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;
--- 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,
--- 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);
--- 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, '/');
--- 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;
--- 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);