]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
plugins: acl - Use container_of() macro
authorAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 10 Nov 2023 11:24:46 +0000 (13:24 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 12 Feb 2025 10:34:11 +0000 (12:34 +0200)
src/plugins/acl/acl-attributes.c
src/plugins/acl/acl-backend-vfile.c
src/plugins/acl/acl-mailbox.c
src/plugins/acl/acl-shared-storage.c

index 5433530a5b2c94d53d77bdc226fa1e914d48d85d..d3bf1b84d41e19e561793e85df7ebe22ae0f3127 100644 (file)
@@ -199,7 +199,7 @@ acl_attribute_iter_next_acl(struct acl_mailbox_attribute_iter *aiter)
 const char *acl_attribute_iter_next(struct mailbox_attribute_iter *iter)
 {
        struct acl_mailbox_attribute_iter *aiter =
-               (struct acl_mailbox_attribute_iter *)iter;
+               container_of(iter, struct acl_mailbox_attribute_iter, iter);
        struct acl_mailbox *abox = ACL_CONTEXT_REQUIRE(iter->box);
        const char *key;
 
@@ -215,7 +215,7 @@ const char *acl_attribute_iter_next(struct mailbox_attribute_iter *iter)
 int acl_attribute_iter_deinit(struct mailbox_attribute_iter *iter)
 {
        struct acl_mailbox_attribute_iter *aiter =
-               (struct acl_mailbox_attribute_iter *)iter;
+               container_of(iter, struct acl_mailbox_attribute_iter, iter);
        struct acl_mailbox *abox = ACL_CONTEXT_REQUIRE(iter->box);
        int ret = aiter->failed ? -1 : 0;
 
index 1f1a988b6a34c1d66e72bb8e7e6bb010d3779f06..07ce11bcac84e9132c46accaa06468bf15ccac9a 100644 (file)
@@ -33,7 +33,7 @@ acl_backend_vfile_init(struct acl_backend *_backend, const char *data)
 {
        struct event *event = _backend->event;
        struct acl_backend_vfile *backend =
-               (struct acl_backend_vfile *)_backend;
+               container_of(_backend, struct acl_backend_vfile, backend);
        struct stat st;
        const char *value, *const *tmp;
        const char *global_path;
@@ -85,7 +85,7 @@ acl_backend_vfile_init(struct acl_backend *_backend, const char *data)
 static void acl_backend_vfile_deinit(struct acl_backend *_backend)
 {
        struct acl_backend_vfile *backend =
-               (struct acl_backend_vfile *)_backend;
+               container_of(_backend, struct acl_backend_vfile, backend);
 
        if (backend->acllist_pool != NULL) {
                array_free(&backend->acllist);
@@ -420,7 +420,7 @@ acl_backend_vfile_refresh(struct acl_object *aclobj, const char *path,
                          struct acl_vfile_validity *validity)
 {
        struct acl_backend_vfile *backend =
-               (struct acl_backend_vfile *)aclobj->backend;
+               container_of(aclobj->backend, struct acl_backend_vfile, backend);
        struct event *event = backend->backend.event;
        struct stat st;
        int ret;
@@ -469,7 +469,7 @@ acl_backend_global_file_refresh(struct acl_object *_aclobj,
                                struct acl_vfile_validity *validity)
 {
        struct acl_backend_vfile *backend =
-               (struct acl_backend_vfile *)_aclobj->backend;
+               container_of(_aclobj->backend, struct acl_backend_vfile, backend);
        struct stat st;
 
        if (acl_global_file_refresh(_aclobj->backend->global_file) < 0)
@@ -483,9 +483,10 @@ acl_backend_global_file_refresh(struct acl_object *_aclobj,
 
 static int acl_backend_vfile_object_refresh_cache(struct acl_object *_aclobj)
 {
-       struct acl_object_vfile *aclobj = (struct acl_object_vfile *)_aclobj;
+       struct acl_object_vfile *aclobj =
+               container_of(_aclobj, struct acl_object_vfile, aclobj);
        struct acl_backend_vfile *backend =
-               (struct acl_backend_vfile *)_aclobj->backend;
+               container_of(_aclobj->backend, struct acl_backend_vfile, backend);
        struct acl_backend_vfile_validity *old_validity;
        struct acl_backend_vfile_validity validity;
        time_t mtime;
index ffe0159a5b046fde48c1416d7016332811bf807a..18a136eefaa8e59601a5d4e7d1f0b2b0e592533b 100644 (file)
@@ -277,7 +277,8 @@ static void
 acl_mail_update_flags(struct mail *_mail, enum modify_type modify_type,
                      enum mail_flags flags)
 {
-       struct mail_private *mail = (struct mail_private *)_mail;
+       struct mail_private *mail =
+               container_of(_mail, struct mail_private, mail);
        union mail_module_context *amail = ACL_MAIL_CONTEXT(mail);
        bool acl_flags, acl_flag_seen, acl_flag_del;
 
@@ -336,7 +337,8 @@ acl_mail_update_keywords(struct mail *_mail, enum modify_type modify_type,
 
 static void acl_mail_expunge(struct mail *_mail)
 {
-       struct mail_private *mail = (struct mail_private *)_mail;
+       struct mail_private *mail =
+               container_of(_mail, struct mail_private, mail);
        union mail_module_context *amail = ACL_MAIL_CONTEXT(mail);
        int ret;
 
@@ -355,7 +357,8 @@ static void acl_mail_expunge(struct mail *_mail)
 void acl_mail_allocated(struct mail *_mail)
 {
        struct acl_mailbox *abox = ACL_CONTEXT(_mail->box);
-       struct mail_private *mail = (struct mail_private *)_mail;
+       struct mail_private *mail =
+               container_of(_mail, struct mail_private, mail);
        struct mail_vfuncs *v = mail->vlast;
        union mail_module_context *amail;
 
index df770cecc4f95622b6536403df16f5904dba75a1..16c33ef8998d97e3fe1d1cca72664e89d3e4eabb 100644 (file)
@@ -34,7 +34,8 @@ static void
 acl_shared_namespace_add(struct mail_namespace *ns,
                         struct mail_storage *storage, const char *userdomain)
 {
-       struct shared_storage *sstorage = (struct shared_storage *)storage;
+       struct shared_storage *sstorage =
+               container_of(storage, struct shared_storage, storage);
        struct mail_namespace *new_ns = ns;
        struct mailbox_list_iterate_context *iter;
        const struct mailbox_info *info;