dovecot-1.1: struct mail can't necessarily be casted to struct i...
dovecot at dovecot.org
dovecot at dovecot.org
Fri Mar 14 08:55:12 EET 2008
details: http://hg.dovecot.org/dovecot-1.1/rev/45624f5ba358
changeset: 7414:45624f5ba358
user: Timo Sirainen <tss at iki.fi>
date: Fri Mar 14 08:52:14 2008 +0200
description:
struct mail can't necessarily be casted to struct index_mail. Added a new
get_index_mail() method to return it.
diffstat:
9 files changed, 19 insertions(+), 6 deletions(-)
src/lib-storage/index/cydir/cydir-mail.c | 3 ++-
src/lib-storage/index/dbox/dbox-mail.c | 3 ++-
src/lib-storage/index/index-mail.c | 5 +++++
src/lib-storage/index/index-mail.h | 1 +
src/lib-storage/index/index-search.c | 2 +-
src/lib-storage/index/maildir/maildir-mail.c | 3 ++-
src/lib-storage/index/mbox/mbox-mail.c | 3 ++-
src/lib-storage/index/raw/raw-mail.c | 3 ++-
src/lib-storage/mail-storage-private.h | 2 ++
diffs (102 lines):
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/cydir/cydir-mail.c
--- 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 @@ 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
};
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/dbox/dbox-mail.c
--- 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 @@ 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
};
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/index-mail.c
--- 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
@@ -1402,3 +1402,8 @@ void index_mail_set_cache_corrupted(stru
"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;
+}
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/index-mail.h
--- 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 *mai
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);
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/index-search.c
--- 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 @@ int index_storage_search_next_nonblock(s
}
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)
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/maildir/maildir-mail.c
--- 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 @@ 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
};
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/mbox/mbox-mail.c
--- 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 @@ 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
};
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/index/raw/raw-mail.c
--- 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 @@ 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
};
diff -r 5d96b15832fc -r 45624f5ba358 src/lib-storage/mail-storage-private.h
--- 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 @@ 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 {
More information about the dovecot-cvs
mailing list