]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: convert struct imapc_mail casts to container_of
authorJosef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
Thu, 7 Sep 2017 11:11:06 +0000 (14:11 +0300)
committerTimo Sirainen <tss@dovecot.fi>
Mon, 18 Sep 2017 14:40:24 +0000 (17:40 +0300)
src/lib-storage/index/imapc/imapc-mail-fetch.c
src/lib-storage/index/imapc/imapc-mail.c
src/lib-storage/index/imapc/imapc-mail.h
src/lib-storage/index/imapc/imapc-save.c

index b11d1c2d3092deeae7aa86332ca27b7c2dbf5fb6..c19461c4832e49bd2483286a63e8858c5a28430d 100644 (file)
@@ -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;
 
index dc974f805c9fd78e62f023523f2b30dc4f50c82b..d203f17d82de830e5376b466582e48b5e81574aa 100644 (file)
@@ -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;
 
index 0a7611b40e30ea9b6e290e8730b7e20b53487e90..52dfe5e964ed11a908d19bbb6b415211ba6d047b 100644 (file)
@@ -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 *
index e2215badeb43aaee02da13a6fadf5c4c968cceb8..65bbc23b65046b5f317c460eec296f8c2d084eb5 100644 (file)
@@ -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;