changeset 7658:1ff4a6d15b11 HEAD

struct mail can't necessarily be casted to struct index_mail. Added a new get_index_mail() method to return it.
author Timo Sirainen <tss@iki.fi>
date Fri, 14 Mar 2008 08:52:14 +0200
parents f83c391c2428
children 4c9027eacfce
files src/lib-storage/index/cydir/cydir-mail.c src/lib-storage/index/dbox/dbox-mail.c src/lib-storage/index/index-mail.c src/lib-storage/index/index-mail.h src/lib-storage/index/index-search.c src/lib-storage/index/maildir/maildir-mail.c src/lib-storage/index/mbox/mbox-mail.c src/lib-storage/index/raw/raw-mail.c src/lib-storage/mail-storage-private.h
diffstat 9 files changed, 19 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/cydir/cydir-mail.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/cydir/cydir-mail.c	Fri Mar 14 08:52:14 2008 +0200
@@ -136,5 +136,6 @@
 	index_mail_update_flags,
 	index_mail_update_keywords,
 	index_mail_expunge,
-	index_mail_set_cache_corrupted
+	index_mail_set_cache_corrupted,
+	index_mail_get_index_mail
 };
--- a/src/lib-storage/index/dbox/dbox-mail.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/dbox/dbox-mail.c	Fri Mar 14 08:52:14 2008 +0200
@@ -237,5 +237,6 @@
 	index_mail_update_flags,
 	index_mail_update_keywords,
 	index_mail_expunge,
-	index_mail_set_cache_corrupted
+	index_mail_set_cache_corrupted,
+	index_mail_get_index_mail
 };
--- a/src/lib-storage/index/index-mail.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/index-mail.c	Fri Mar 14 08:52:14 2008 +0200
@@ -1383,3 +1383,8 @@
 				 "Broken %s for mail UID %u",
 				 field_name, mail->uid);
 }
+
+struct index_mail *index_mail_get_index_mail(struct mail *mail)
+{
+	return (struct index_mail *)mail;
+}
--- a/src/lib-storage/index/index-mail.h	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/index-mail.h	Fri Mar 14 08:52:14 2008 +0200
@@ -193,6 +193,7 @@
 void index_mail_expunge(struct mail *mail);
 void index_mail_set_cache_corrupted(struct mail *mail,
 				    enum mail_fetch_field field);
+struct index_mail *index_mail_get_index_mail(struct mail *mail);
 
 bool index_mail_get_cached_uoff_t(struct index_mail *mail,
 				  enum index_cache_field field, uoff_t *size_r);
--- a/src/lib-storage/index/index-search.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/index-search.c	Fri Mar 14 08:52:14 2008 +0200
@@ -1027,7 +1027,7 @@
 	}
 
 	ctx->mail = mail;
-	ctx->imail = (struct index_mail *)mail;
+	ctx->imail = ((struct mail_private *)mail)->v.get_index_mail(mail);
 
 	if (ioloop_time - ctx->last_notify.tv_sec >=
 	    SEARCH_NOTIFY_INTERVAL_SECS)
--- a/src/lib-storage/index/maildir/maildir-mail.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/maildir/maildir-mail.c	Fri Mar 14 08:52:14 2008 +0200
@@ -455,5 +455,6 @@
 	index_mail_update_flags,
 	index_mail_update_keywords,
 	index_mail_expunge,
-	index_mail_set_cache_corrupted
+	index_mail_set_cache_corrupted,
+	index_mail_get_index_mail
 };
--- a/src/lib-storage/index/mbox/mbox-mail.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/mbox/mbox-mail.c	Fri Mar 14 08:52:14 2008 +0200
@@ -297,5 +297,6 @@
 	index_mail_update_flags,
 	index_mail_update_keywords,
 	index_mail_expunge,
-	index_mail_set_cache_corrupted
+	index_mail_set_cache_corrupted,
+	index_mail_get_index_mail
 };
--- a/src/lib-storage/index/raw/raw-mail.c	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/index/raw/raw-mail.c	Fri Mar 14 08:52:14 2008 +0200
@@ -126,5 +126,6 @@
 	index_mail_update_flags,
 	index_mail_update_keywords,
 	index_mail_expunge,
-	index_mail_set_cache_corrupted
+	index_mail_set_cache_corrupted,
+	index_mail_get_index_mail
 };
--- a/src/lib-storage/mail-storage-private.h	Fri Mar 14 08:50:59 2008 +0200
+++ b/src/lib-storage/mail-storage-private.h	Fri Mar 14 08:52:14 2008 +0200
@@ -240,6 +240,8 @@
 	void (*expunge)(struct mail *mail);
 	void (*set_cache_corrupted)(struct mail *mail,
 				    enum mail_fetch_field field);
+
+	struct index_mail *(*get_index_mail)(struct mail *mail);
 };
 
 union mail_module_context {