From df71146c7f68895abd435857a88d596dc52f8001 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 9 Feb 2017 18:46:14 +0200 Subject: [PATCH] lib-storage: Add mailbox_save_get_dest_mail() This marks mailbox_save_set_dest_mail deprecated. It's not efficient to use since it frees the already-created dest_mail. --- src/lib-storage/mail-storage.c | 5 +++++ src/lib-storage/mail-storage.h | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 5e74b74611..143a581273 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -2151,6 +2151,11 @@ void mailbox_save_set_dest_mail(struct mail_save_context *ctx, ctx->dest_mail_external = TRUE; } +struct mail *mailbox_save_get_dest_mail(struct mail_save_context *ctx) +{ + return ctx->dest_mail; +} + int mailbox_save_begin(struct mail_save_context **ctx, struct istream *input) { struct mailbox *box = (*ctx)->transaction->box; diff --git a/src/lib-storage/mail-storage.h b/src/lib-storage/mail-storage.h index c0fec6f9a9..d38b4bc3b3 100644 --- a/src/lib-storage/mail-storage.h +++ b/src/lib-storage/mail-storage.h @@ -755,12 +755,11 @@ void mailbox_save_set_pop3_uidl(struct mail_save_context *ctx, of the mailbox. Not all backends support this. */ void mailbox_save_set_pop3_order(struct mail_save_context *ctx, unsigned int order); -/* If dest_mail is set, the saved message can be accessed using it. Note that - setting it may require mailbox syncing, so don't set it unless you need - it. Also you shouldn't try to access it before mailbox_save_finish() is - called. */ +/* FIXME: Remove in v2.3. Obsolete - use mailbox_save_get_dest_mail() instead */ void mailbox_save_set_dest_mail(struct mail_save_context *ctx, struct mail *mail); +/* Returns the destination mail */ +struct mail *mailbox_save_get_dest_mail(struct mail_save_context *ctx); /* Begin saving the message. All mail_save_set_*() calls must have been called before this function. If the save initialization fails, the context is freed and -1 is returned. After beginning the save you should keep calling -- 2.47.3