From: Josef 'Jeff' Sipek Date: Thu, 7 Sep 2017 11:11:06 +0000 (+0300) Subject: lib-storage: convert struct imapc_mail casts to container_of X-Git-Tag: 2.3.0.rc1~998 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7dd326f772ed4193e1bfdafdb46fea616970e1ac;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: convert struct imapc_mail casts to container_of --- diff --git a/src/lib-storage/index/imapc/imapc-mail-fetch.c b/src/lib-storage/index/imapc/imapc-mail-fetch.c index b11d1c2d30..c19461c483 100644 --- a/src/lib-storage/index/imapc/imapc-mail-fetch.c +++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c @@ -204,7 +204,7 @@ static int imapc_mail_send_fetch(struct mail *_mail, enum mail_fetch_field fields, const char *const *headers) { - struct imapc_mail *mail = (struct imapc_mail *)_mail; + struct imapc_mail *mail = IMAPC_MAIL(_mail); struct imapc_mailbox *mbox = IMAPC_MAILBOX(_mail->box); struct mail_index_view *view; string_t *str; @@ -376,7 +376,7 @@ void imapc_mail_try_init_stream_from_cache(struct imapc_mail *mail) bool imapc_mail_prefetch(struct mail *_mail) { - struct imapc_mail *mail = (struct imapc_mail *)_mail; + struct imapc_mail *mail = IMAPC_MAIL(_mail); struct imapc_mailbox *mbox = IMAPC_MAILBOX(_mail->box); struct index_mail_data *data = &mail->imail.data; enum mail_fetch_field fields; @@ -448,7 +448,7 @@ imapc_mail_have_fields(struct imapc_mail *imail, enum mail_fetch_field fields) int imapc_mail_fetch(struct mail *_mail, enum mail_fetch_field fields, const char *const *headers) { - struct imapc_mail *imail = (struct imapc_mail *)_mail; + struct imapc_mail *imail = IMAPC_MAIL(_mail); struct imapc_mailbox *mbox = IMAPC_MAILBOX(_mail->box); int ret; diff --git a/src/lib-storage/index/imapc/imapc-mail.c b/src/lib-storage/index/imapc/imapc-mail.c index dc974f805c..d203f17d82 100644 --- a/src/lib-storage/index/imapc/imapc-mail.c +++ b/src/lib-storage/index/imapc/imapc-mail.c @@ -65,7 +65,7 @@ static bool imapc_mail_is_expunged(struct mail *_mail) static int imapc_mail_failed(struct mail *mail, const char *field) { - struct imapc_mail *imail = (struct imapc_mail *)mail; + struct imapc_mail *imail = IMAPC_MAIL(mail); struct imapc_mailbox *mbox = IMAPC_MAILBOX(mail->box); bool fix_broken_mail = FALSE; @@ -219,7 +219,7 @@ imapc_mail_get_header_stream(struct mail *_mail, struct mailbox_header_lookup_ctx *headers, struct istream **stream_r) { - struct imapc_mail *mail = (struct imapc_mail *)_mail; + struct imapc_mail *mail = IMAPC_MAIL(_mail); struct imapc_mailbox *mbox = IMAPC_MAILBOX(_mail->box); enum mail_lookup_abort old_abort = _mail->lookup_abort; int ret; @@ -288,7 +288,7 @@ imapc_mail_get_stream(struct mail *_mail, bool get_body, struct message_size *hdr_size, struct message_size *body_size, struct istream **stream_r) { - struct imapc_mail *mail = (struct imapc_mail *)_mail; + struct imapc_mail *mail = IMAPC_MAIL(_mail); struct index_mail_data *data = &mail->imail.data; enum mail_fetch_field fetch_field; @@ -400,7 +400,7 @@ void imapc_mail_update_access_parts(struct index_mail *mail) static void imapc_mail_set_seq(struct mail *_mail, uint32_t seq, bool saving) { - struct imapc_mail *imail = (struct imapc_mail *)_mail; + struct imapc_mail *imail = IMAPC_MAIL(_mail); struct index_mail *mail = &imail->imail; index_mail_set_seq(_mail, seq, saving); @@ -425,7 +425,7 @@ imapc_mail_add_temp_wanted_fields(struct mail *_mail, static void imapc_mail_close(struct mail *_mail) { - struct imapc_mail *mail = (struct imapc_mail *)_mail; + struct imapc_mail *mail = IMAPC_MAIL(_mail); struct imapc_mailbox *mbox = IMAPC_MAILBOX(_mail->box); struct imapc_mail_cache *cache = &mbox->prev_mail_cache; diff --git a/src/lib-storage/index/imapc/imapc-mail.h b/src/lib-storage/index/imapc/imapc-mail.h index 0a7611b40e..52dfe5e964 100644 --- a/src/lib-storage/index/imapc/imapc-mail.h +++ b/src/lib-storage/index/imapc/imapc-mail.h @@ -25,6 +25,8 @@ struct imapc_mail { bool fetch_failed; }; +#define IMAPC_MAIL(s) container_of(s, struct imapc_mail, imail.mail.mail) + extern struct mail_vfuncs imapc_mail_vfuncs; struct mail * diff --git a/src/lib-storage/index/imapc/imapc-save.c b/src/lib-storage/index/imapc/imapc-save.c index e2215badeb..65bbc23b65 100644 --- a/src/lib-storage/index/imapc/imapc-save.c +++ b/src/lib-storage/index/imapc/imapc-save.c @@ -148,7 +148,7 @@ imapc_save_add_to_index(struct imapc_save_context *ctx, uint32_t uid) imail->data.forced_no_caching = TRUE; if (ctx->fd != -1) { - struct imapc_mail *imapc_mail = (struct imapc_mail *)imail; + struct imapc_mail *imapc_mail = IMAPC_MAIL(_mail); imail->data.stream = i_stream_create_fd_autoclose(&ctx->fd, 0); imapc_mail->header_fetched = TRUE; imapc_mail->body_fetched = TRUE;