dovecot-1.1: mailbox.save_init: Keep ctx->dest_mail correctly up...
dovecot at dovecot.org
dovecot at dovecot.org
Sun Jul 20 23:53:07 EEST 2008
details: http://hg.dovecot.org/dovecot-1.1/rev/8dc6541b4426
changeset: 7780:8dc6541b4426
user: Timo Sirainen <tss at iki.fi>
date: Sun Jul 20 23:53:03 2008 +0300
description:
mailbox.save_init: Keep ctx->dest_mail correctly updated.
diffstat:
2 files changed, 8 insertions(+), 6 deletions(-)
src/lib-storage/mail-storage.c | 3 ++-
src/plugins/quota/quota-storage.c | 11 ++++++-----
diffs (46 lines):
diff -r 0e2d3dbd2872 -r 8dc6541b4426 src/lib-storage/mail-storage.c
--- a/src/lib-storage/mail-storage.c Sun Jul 20 23:03:09 2008 +0300
+++ b/src/lib-storage/mail-storage.c Sun Jul 20 23:53:03 2008 +0300
@@ -721,7 +721,8 @@ int mailbox_save_init(struct mailbox_tra
from_envelope, input, dest_mail, ctx_r) < 0)
return -1;
- (*ctx_r)->dest_mail = dest_mail;
+ if (dest_mail != NULL)
+ (*ctx_r)->dest_mail = dest_mail;
return 0;
}
diff -r 0e2d3dbd2872 -r 8dc6541b4426 src/plugins/quota/quota-storage.c
--- a/src/plugins/quota/quota-storage.c Sun Jul 20 23:03:09 2008 +0300
+++ b/src/plugins/quota/quota-storage.c Sun Jul 20 23:53:03 2008 +0300
@@ -233,23 +233,24 @@ quota_save_init(struct mailbox_transacti
dest_mail = qt->tmp_mail;
}
- return qbox->module_ctx.super.
+ if (qbox->module_ctx.super.
save_init(t, flags, keywords, received_date,
timezone_offset, from_envelope,
- input, dest_mail, ctx_r);
+ input, dest_mail, ctx_r) < 0)
+ return -1;
+ (*ctx_r)->dest_mail = dest_mail;
+ return 0;
}
static int quota_save_finish(struct mail_save_context *ctx)
{
- struct quota_transaction_context *qt = QUOTA_CONTEXT(ctx->transaction);
struct quota_mailbox *qbox = QUOTA_CONTEXT(ctx->transaction->box);
if (qbox->module_ctx.super.save_finish(ctx) < 0)
return -1;
qbox->save_hack = TRUE;
- return quota_check(ctx->transaction, ctx->dest_mail != NULL ?
- ctx->dest_mail : qt->tmp_mail);
+ return quota_check(ctx->transaction, ctx->dest_mail);
}
static void quota_mailbox_sync_finish(struct quota_mailbox *qbox)
More information about the dovecot-cvs
mailing list