Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6291:2f960cea48b1 HEAD
mail.close() virtual function finishing.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 13 Aug 2007 18:25:25 +0300 |
parents | b04d136f8174 |
children | 623639306046 |
files | src/lib-storage/index/index-mail.c src/lib-storage/index/index-mail.h |
diffstat | 2 files changed, 25 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ } 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 @@ mail->trans = t; mail->wanted_fields = wanted_fields; mail->wanted_headers = wanted_headers; - - return &mail->mail.mail; } void index_mail_close(struct mail *_mail)
--- 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_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);