]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: convert raw to use container_of
authorJosef 'Jeff' Sipek <jeff.sipek@dovecot.fi>
Mon, 28 Aug 2017 08:51:34 +0000 (11:51 +0300)
committerAki Tuomi <aki.tuomi@dovecot.fi>
Thu, 7 Sep 2017 07:43:55 +0000 (10:43 +0300)
src/lib-storage/index/raw/raw-mail.c
src/lib-storage/index/raw/raw-storage.c
src/lib-storage/index/raw/raw-storage.h
src/lib-storage/index/raw/raw-sync.c

index 9f7c19054ad07b89eb8c3d046eb45c663d96aa3a..a98c0e2e57f34d1299d26a56b757f0fd84ab09cb 100644 (file)
@@ -11,7 +11,7 @@
 
 static int raw_mail_stat(struct mail *mail)
 {
-       struct raw_mailbox *mbox = (struct raw_mailbox *)mail->box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(mail->box);
        const struct stat *st;
 
        if (mail->lookup_abort == MAIL_LOOKUP_ABORT_NOT_IN_CACHE) {
@@ -39,7 +39,7 @@ static int raw_mail_stat(struct mail *mail)
 static int raw_mail_get_received_date(struct mail *_mail, time_t *date_r)
 {
        struct index_mail *mail = (struct index_mail *)_mail;
-       struct raw_mailbox *mbox = (struct raw_mailbox *)_mail->box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(_mail->box);
 
        if (mbox->mtime == (time_t)-1) {
                if (raw_mail_stat(_mail) < 0)
@@ -53,7 +53,7 @@ static int raw_mail_get_received_date(struct mail *_mail, time_t *date_r)
 static int raw_mail_get_save_date(struct mail *_mail, time_t *date_r)
 {
        struct index_mail *mail = (struct index_mail *)_mail;
-       struct raw_mailbox *mbox = (struct raw_mailbox *)_mail->box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(_mail->box);
 
        if (mbox->ctime == (time_t)-1) {
                if (raw_mail_stat(_mail) < 0)
@@ -67,7 +67,7 @@ static int raw_mail_get_save_date(struct mail *_mail, time_t *date_r)
 static int raw_mail_get_physical_size(struct mail *_mail, uoff_t *size_r)
 {
        struct index_mail *mail = (struct index_mail *)_mail;
-       struct raw_mailbox *mbox = (struct raw_mailbox *)_mail->box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(_mail->box);
 
        if (mbox->size == (uoff_t)-1) {
                if (raw_mail_stat(_mail) < 0)
@@ -99,7 +99,7 @@ static int
 raw_mail_get_special(struct mail *_mail, enum mail_fetch_field field,
                     const char **value_r)
 {
-       struct raw_mailbox *mbox = (struct raw_mailbox *)_mail->box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(_mail->box);
 
        switch (field) {
        case MAIL_FETCH_FROM_ENVELOPE:
index ed4904ec62f9064ae3efb003f90b9e20a4036f30..8c46cc502082d01cac1a925a52a4ba8a3a46d600 100644 (file)
@@ -140,14 +140,14 @@ raw_mailbox_alloc(struct mail_storage *storage, struct mailbox_list *list,
        index_storage_mailbox_alloc(&mbox->box, vname, flags, "dovecot.index");
 
        mbox->mtime = mbox->ctime = (time_t)-1;
-       mbox->storage = (struct raw_storage *)storage;
+       mbox->storage = RAW_STORAGE(storage);
        mbox->size = (uoff_t)-1;
        return &mbox->box;
 }
 
 static int raw_mailbox_open(struct mailbox *box)
 {
-       struct raw_mailbox *mbox = (struct raw_mailbox *)box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(box);
        const char *path;
        int fd;
 
index b1384b8da1671384ce191dd974142846cb58aaba..124ca7ed0e385c21c875c2867c9655c9a1264df2 100644 (file)
@@ -22,6 +22,9 @@ struct raw_mailbox {
        bool have_filename:1;
 };
 
+#define RAW_STORAGE(s)         container_of(s, struct raw_storage, storage)
+#define RAW_MAILBOX(s)         container_of(s, struct raw_mailbox, box)
+
 extern struct mail_vfuncs raw_mail_vfuncs;
 
 struct mail_user *
index e7c68954b30caf77b908a93a7e935a56b8e6dcad..c55246229648eeae4f69c27e6697d8a092c1a3b2 100644 (file)
@@ -57,7 +57,7 @@ static int raw_sync(struct raw_mailbox *mbox)
 struct mailbox_sync_context *
 raw_storage_sync_init(struct mailbox *box, enum mailbox_sync_flags flags)
 {
-       struct raw_mailbox *mbox = (struct raw_mailbox *)box;
+       struct raw_mailbox *mbox = RAW_MAILBOX(box);
        int ret = 0;
 
        if (!mbox->synced)