dovecot: mail.close() virtual function finishing.
dovecot at dovecot.org
dovecot at dovecot.org
Mon Aug 13 18:25:32 EEST 2007
details: http://hg.dovecot.org/dovecot/rev/2f960cea48b1
changeset: 6291:2f960cea48b1
user: Timo Sirainen <tss at iki.fi>
date: Mon Aug 13 18:25:25 2007 +0300
description:
mail.close() virtual function finishing.
diffstat:
2 files changed, 26 insertions(+), 11 deletions(-)
src/lib-storage/index/index-mail.c | 32 +++++++++++++++++++++-----------
src/lib-storage/index/index-mail.h | 5 +++++
diffs (71 lines):
diff -r b04d136f8174 -r 2f960cea48b1 src/lib-storage/index/index-mail.c
--- a/src/lib-storage/index/index-mail.c Mon Aug 13 18:00:19 2007 +0300
+++ b/src/lib-storage/index/index-mail.c Mon Aug 13 18:25:25 2007 +0300
@@ -859,22 +859,34 @@ int index_mail_get_special(struct mail *
}
struct mail *
-index_mail_alloc(struct mailbox_transaction_context *_t,
+index_mail_alloc(struct mailbox_transaction_context *t,
enum mail_fetch_field wanted_fields,
- struct mailbox_header_lookup_ctx *_wanted_headers)
+ struct mailbox_header_lookup_ctx *wanted_headers)
+{
+ struct index_mail *mail;
+ pool_t pool;
+
+ pool = pool_alloconly_create("mail", 1024);
+ mail = p_new(pool, struct index_mail, 1);
+ mail->mail.pool = pool;
+
+ index_mail_init(mail, t, wanted_fields, wanted_headers);
+ return &mail->mail.mail;
+}
+
+void index_mail_init(struct index_mail *mail,
+ struct mailbox_transaction_context *_t,
+ enum mail_fetch_field wanted_fields,
+ struct mailbox_header_lookup_ctx *_wanted_headers)
{
struct index_transaction_context *t =
(struct index_transaction_context *)_t;
struct index_header_lookup_ctx *wanted_headers =
(struct index_header_lookup_ctx *)_wanted_headers;
- struct index_mail *mail;
const struct mail_index_header *hdr;
- pool_t pool;
-
- pool = pool_alloconly_create("mail", 1024);
- mail = p_new(pool, struct index_mail, 1);
- mail->mail.pool = pool;
- array_create(&mail->mail.module_contexts, pool, sizeof(void *), 5);
+
+ array_create(&mail->mail.module_contexts, mail->mail.pool,
+ sizeof(void *), 5);
mail->mail.v = *t->ibox->mail_vfuncs;
mail->mail.mail.box = &t->ibox->box;
@@ -888,8 +900,6 @@ index_mail_alloc(struct mailbox_transact
mail->trans = t;
mail->wanted_fields = wanted_fields;
mail->wanted_headers = wanted_headers;
-
- return &mail->mail.mail;
}
void index_mail_close(struct mail *_mail)
diff -r b04d136f8174 -r 2f960cea48b1 src/lib-storage/index/index-mail.h
--- a/src/lib-storage/index/index-mail.h Mon Aug 13 18:00:19 2007 +0300
+++ b/src/lib-storage/index/index-mail.h Mon Aug 13 18:25:25 2007 +0300
@@ -131,6 +131,11 @@ index_mail_alloc(struct mailbox_transact
index_mail_alloc(struct mailbox_transaction_context *t,
enum mail_fetch_field wanted_fields,
struct mailbox_header_lookup_ctx *wanted_headers);
+void index_mail_init(struct index_mail *mail,
+ struct mailbox_transaction_context *_t,
+ enum mail_fetch_field wanted_fields,
+ struct mailbox_header_lookup_ctx *_wanted_headers);
+
void index_mail_set_seq(struct mail *mail, uint32_t seq);
bool index_mail_set_uid(struct mail *mail, uint32_t uid);
void index_mail_close(struct mail *mail);
More information about the dovecot-cvs
mailing list