dovecot: Added mail.close() virtual function.

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 13 17:20:16 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/4a57baddc8b8
changeset: 6289:4a57baddc8b8
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 13 17:19:59 2007 +0300
description:
Added mail.close() virtual function.

diffstat:

7 files changed, 12 insertions(+), 4 deletions(-)
src/lib-storage/index/cydir/cydir-mail.c     |    1 +
src/lib-storage/index/dbox/dbox-mail.c       |    1 +
src/lib-storage/index/index-mail.c           |   10 ++++++----
src/lib-storage/index/index-mail.h           |    1 +
src/lib-storage/index/maildir/maildir-mail.c |    1 +
src/lib-storage/index/mbox/mbox-mail.c       |    1 +
src/lib-storage/mail-storage-private.h       |    1 +

diffs (100 lines):

diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/index/cydir/cydir-mail.c
--- a/src/lib-storage/index/cydir/cydir-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/cydir/cydir-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -123,6 +123,7 @@ cydir_mail_get_stream(struct mail *_mail
 }
 
 struct mail_vfuncs cydir_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/index/dbox/dbox-mail.c
--- a/src/lib-storage/index/dbox/dbox-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/dbox/dbox-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -236,6 +236,7 @@ static int dbox_mail_get_stream(struct m
 }
 
 struct mail_vfuncs dbox_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/index/index-mail.c
--- a/src/lib-storage/index/index-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/index-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -892,8 +892,10 @@ index_mail_alloc(struct mailbox_transact
 	return &mail->mail.mail;
 }
 
-static void index_mail_close(struct index_mail *mail)
-{
+void index_mail_close(struct mail *_mail)
+{
+	struct index_mail *mail = (struct index_mail *)_mail;
+
 	if (mail->data.parser_ctx != NULL)
 		(void)message_parser_deinit(&mail->data.parser_ctx);
 	if (mail->data.stream != NULL)
@@ -906,7 +908,7 @@ static void index_mail_reset(struct inde
 {
 	struct index_mail_data *data = &mail->data;
 
-	index_mail_close(mail);
+	mail->mail.v.close(&mail->mail.mail);
 
 	memset(data, 0, sizeof(*data));
 	p_clear(mail->data_pool);
@@ -1082,7 +1084,7 @@ void index_mail_free(struct mail *_mail)
 {
 	struct index_mail *mail = (struct index_mail *)_mail;
 
-	index_mail_close(mail);
+	mail->mail.v.close(_mail);
 
 	if (mail->header_data != NULL)
 		buffer_free(mail->header_data);
diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/index/index-mail.h
--- a/src/lib-storage/index/index-mail.h	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/index-mail.h	Mon Aug 13 17:19:59 2007 +0300
@@ -133,6 +133,7 @@ index_mail_alloc(struct mailbox_transact
 		 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);
 void index_mail_free(struct mail *mail);
 
 bool index_mail_want_parse_headers(struct index_mail *mail);
diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/index/maildir/maildir-mail.c
--- a/src/lib-storage/index/maildir/maildir-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/maildir/maildir-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -387,6 +387,7 @@ static int maildir_mail_get_stream(struc
 }
 
 struct mail_vfuncs maildir_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/index/mbox/mbox-mail.c
--- a/src/lib-storage/index/mbox/mbox-mail.c	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/index/mbox/mbox-mail.c	Mon Aug 13 17:19:59 2007 +0300
@@ -231,6 +231,7 @@ static int mbox_mail_get_stream(struct m
 }
 
 struct mail_vfuncs mbox_mail_vfuncs = {
+	index_mail_close,
 	index_mail_free,
 	index_mail_set_seq,
 	index_mail_set_uid,
diff -r 79d9c1703b78 -r 4a57baddc8b8 src/lib-storage/mail-storage-private.h
--- a/src/lib-storage/mail-storage-private.h	Mon Aug 13 17:17:03 2007 +0300
+++ b/src/lib-storage/mail-storage-private.h	Mon Aug 13 17:19:59 2007 +0300
@@ -195,6 +195,7 @@ struct mailbox {
 };
 
 struct mail_vfuncs {
+	void (*close)(struct mail *mail);
 	void (*free)(struct mail *mail);
 	void (*set_seq)(struct mail *mail, uint32_t seq);
 	bool (*set_uid)(struct mail *mail, uint32_t uid);


More information about the dovecot-cvs mailing list