]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
struct mail can't necessarily be casted to struct index_mail. Added a new
authorTimo Sirainen <tss@iki.fi>
Fri, 14 Mar 2008 06:52:14 +0000 (08:52 +0200)
committerTimo Sirainen <tss@iki.fi>
Fri, 14 Mar 2008 06:52:14 +0000 (08:52 +0200)
get_index_mail() method to return it.

--HG--
branch : HEAD

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

index c1fb7478e2dff31cf35d4dfaf3b689210e5b8ca7..6fa911c53153f55686e0ed82dd01da03a80cd0d8 100644 (file)
@@ -136,5 +136,6 @@ struct mail_vfuncs cydir_mail_vfuncs = {
        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
 };
index b37de168eb8da27d43316662b8940e9059aeb79a..99defdc7a5a5d76257c12d262112d99027239c9d 100644 (file)
@@ -237,5 +237,6 @@ struct mail_vfuncs dbox_mail_vfuncs = {
        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
 };
index a13ca5479a98a9d33abd4b60ad3b9b0e67c0b30e..9eb1641e38f3899ea22b19964a26d020f1c946f6 100644 (file)
@@ -1383,3 +1383,8 @@ void index_mail_set_cache_corrupted(struct mail *mail,
                                 "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;
+}
index 6fa6380648d9d4187040188604e00a9c1eaae969..4499fc8306db57073ec9f971c82e52029d132084 100644 (file)
@@ -193,6 +193,7 @@ void index_mail_update_keywords(struct mail *mail, enum modify_type modify_type,
 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);
index 093c277b5ae0eaad4e11cfc1321afbdfff944e49..faad0deaf0df3a29952b0ec2a32734de811bf3ed 100644 (file)
@@ -1027,7 +1027,7 @@ int index_storage_search_next_nonblock(struct mail_search_context *_ctx,
        }
 
        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)
index 378b58349e97bd5a07e5231a72c0dce1be449f8b..dc3a927591823cf6bb3c030606dc0ab325481a5e 100644 (file)
@@ -455,5 +455,6 @@ struct mail_vfuncs maildir_mail_vfuncs = {
        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
 };
index 460b115e6f42d365674872244aca84b9649a2ec4..5dc4d9159256856aea4484f0857cc0a7b59839cc 100644 (file)
@@ -297,5 +297,6 @@ struct mail_vfuncs mbox_mail_vfuncs = {
        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
 };
index 5c4c2fd9f60387700b81394399363fc4197cf482..147311e9c9cd2aed5ab648adafabd37c34fc5b22 100644 (file)
@@ -126,5 +126,6 @@ struct mail_vfuncs raw_mail_vfuncs = {
        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
 };
index bee0f3c872ac5c1f72b16a7d1b329c35d77dcd76..0d0dae90599e83f83d04738bbd95f40b0dbdad27 100644 (file)
@@ -240,6 +240,8 @@ struct mail_vfuncs {
        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 {