]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Use array_foreach_elem() where possible
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 10 Feb 2021 19:45:58 +0000 (21:45 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 7 May 2021 10:09:35 +0000 (10:09 +0000)
18 files changed:
src/dict/dict-commands.c
src/imap-login/imap-login-commands.c
src/imap-urlauth/imap-urlauth-worker.c
src/ipc/ipc-connection.c
src/ipc/ipc-group.c
src/lib-fs/fs-api.c
src/lib-mail/istream-attachment-connector.c
src/lib-master/master-service-settings.c
src/lib-program-client/program-client-local.c
src/lib-program-client/program-client-remote.c
src/lib-sql/driver-cassandra.c
src/lib-sql/driver-sqlpool.c
src/lib-test/test-subprocess.c
src/lmtp/lmtp-proxy.c
src/login-common/login-proxy.c
src/login-common/main.c
src/replication/replicator/doveadm-connection.c
src/replication/replicator/replicator-brain.c

index 135a278fd616d79ad30fdbe7a07dedf725ab267d..85d2eec70bcaeeede151908db65c7aedc919c4d6 100644 (file)
@@ -684,12 +684,10 @@ int dict_command_input(struct dict_connection *conn, const char *line)
 
 static bool dict_connection_cmds_try_output_more(struct dict_connection *conn)
 {
-       struct dict_connection_cmd *const *cmdp, *cmd;
+       struct dict_connection_cmd *cmd;
 
        /* only iterators may be returning a lot of data */
-       array_foreach(&conn->cmds, cmdp) {
-               cmd = *cmdp;
-
+       array_foreach_elem(&conn->cmds, cmd) {
                if (cmd->iter == NULL) {
                        /* not an iterator */
                } else if (cmd_iterate_flush(cmd) == 0) {
index a93f77ee6691ac00d156d6aa20a47111c2b4d41a..8d4878d142649793ed83d63e0789eb2a8b1ad7a3 100644 (file)
@@ -9,11 +9,11 @@ static pool_t imap_login_commands_pool;
 
 struct imap_login_command *imap_login_command_lookup(const char *name)
 {
-       struct imap_login_command *const *cmdp;
+       struct imap_login_command *cmd;
 
-       array_foreach(&imap_login_commands, cmdp) {
-               if (strcasecmp((*cmdp)->name, name) == 0)
-                       return *cmdp;
+       array_foreach_elem(&imap_login_commands, cmd) {
+               if (strcasecmp(cmd->name, name) == 0)
+                       return cmd;
        }
        return NULL;
 }
index a26a439e58bb7c47767e310687a4ff3b0a266cfd..4dc413a4316812f31c6a3a96b578021a4c045874 100644 (file)
@@ -217,7 +217,7 @@ static void client_abort(struct client *client, const char *reason)
 
 static void client_destroy(struct client *client)
 {
-       char **app;
+       char *app;
 
        i_set_failure_prefix("imap-urlauth[%s](%s): ",
                             my_pid, client->access_user);
@@ -257,8 +257,8 @@ static void client_destroy(struct client *client)
                mail_storage_service_user_unref(&client->service_user);
        i_free(client->access_user);
        i_free(client->access_service);
-       array_foreach_modifiable(&client->access_apps, app)
-               i_free(*app);
+       array_foreach_elem(&client->access_apps, app)
+               i_free(app);
        array_free(&client->access_apps);
        i_free(client);
 
index 48fcd089d1e3a29f1c79b7a9f693ad846014c3f5..763752ac638abc5a40171ab2a1c38fa84576d8a5 100644 (file)
@@ -46,11 +46,11 @@ static void ipc_connection_cmd_free(struct ipc_connection_cmd **_cmd,
 static struct ipc_connection_cmd *
 ipc_connection_cmd_find(struct ipc_connection *conn, unsigned int tag)
 {
-       struct ipc_connection_cmd *const *cmdp;
+       struct ipc_connection_cmd *cmd;
 
-       array_foreach(&conn->cmds, cmdp) {
-               if ((*cmdp)->tag == tag)
-                       return *cmdp;
+       array_foreach_elem(&conn->cmds, cmd) {
+               if (cmd->tag == tag)
+                       return cmd;
        }
        return NULL;
 }
index e1144c31f7bb85d655f7b1a3535c35fd80c852d9..945141990a388d75e6aa487553c1a871a7458f16 100644 (file)
@@ -48,23 +48,23 @@ void ipc_group_free(struct ipc_group **_group)
 
 struct ipc_group *ipc_group_lookup_listen_fd(int listen_fd)
 {
-       struct ipc_group *const *groupp;
+       struct ipc_group *group;
 
-       array_foreach(&ipc_groups, groupp) {
-               if ((*groupp)->listen_fd == listen_fd)
-                       return *groupp;
+       array_foreach_elem(&ipc_groups, group) {
+               if (group->listen_fd == listen_fd)
+                       return group;
        }
        return NULL;
 }
 
 struct ipc_group *ipc_group_lookup_name(const char *name)
 {
-       struct ipc_group *const *groupp;
+       struct ipc_group *group;
 
-       array_foreach(&ipc_groups, groupp) {
-               if ((*groupp)->name != NULL &&
-                   strcmp((*groupp)->name, name) == 0)
-                       return *groupp;
+       array_foreach_elem(&ipc_groups, group) {
+               if (group->name != NULL &&
+                   strcmp(group->name, name) == 0)
+                       return group;
        }
        return NULL;
 }
index d9bb4bd5c1f7880cfcefcf1d5ac7d1d5b8162699..048d22af6c473f1a1df99c62b8e520d2508c4ee8 100644 (file)
@@ -96,14 +96,14 @@ static void fs_classes_init(void)
 
 static const struct fs *fs_class_find(const char *driver)
 {
-       const struct fs *const *classp;
+       const struct fs *class;
 
        if (!array_is_created(&fs_classes))
                fs_classes_init();
 
-       array_foreach(&fs_classes, classp) {
-               if (strcmp((*classp)->name, driver) == 0)
-                       return *classp;
+       array_foreach_elem(&fs_classes, class) {
+               if (strcmp(class->name, driver) == 0)
+                       return class;
        }
        return NULL;
 }
index 7095499c6bc27b14ecb13cb049ca7bc0f3b26376..cb66563f193544493931e6402250027d77e2b3a2 100644 (file)
@@ -96,12 +96,10 @@ int istream_attachment_connector_add(struct istream_attachment_connector *conn,
 static void
 istream_attachment_connector_free(struct istream_attachment_connector *conn)
 {
-       struct istream *const *streamp, *stream;
+       struct istream *stream;
 
-       array_foreach(&conn->streams, streamp) {
-               stream = *streamp;
+       array_foreach_elem(&conn->streams, stream)
                i_stream_unref(&stream);
-       }
        i_stream_unref(&conn->base_input);
        pool_unref(&conn->pool);
 }
index b9ca3cedbe768e1ea6b3817b82ce4f820bd91c98..d16dc7bba3cc99c6d737efd9cf5a557152a4e2e2 100644 (file)
@@ -760,7 +760,7 @@ int master_service_set(struct master_service *service, const char *line)
 bool master_service_set_has_config_override(struct master_service *service,
                                            const char *key)
 {
-       const char *const *override, *key_root;
+       const char *override, *key_root;
        bool ret;
 
        if (!array_is_created(&service->config_overrides))
@@ -770,11 +770,11 @@ bool master_service_set_has_config_override(struct master_service *service,
        if (key_root == NULL)
                key_root = key;
 
-       array_foreach(&service->config_overrides, override) {
+       array_foreach_elem(&service->config_overrides, override) {
                T_BEGIN {
                        const char *okey, *okey_root;
 
-                       okey = t_strcut(*override, '=');
+                       okey = t_strcut(override, '=');
                        okey_root = settings_parse_unalias(service->set_parser,
                                                           okey);
                        if (okey_root == NULL)
index 3c15fbe42013ae67f4f9e45f3ae341be62575a33..de5b680c9d431d75ae5d720883586b7ee67dd583 100644 (file)
@@ -121,11 +121,10 @@ exec_child(const char *bin_path, const char *const *args,
 
        env_clean();
        if (array_is_created(envs)) {
-               const char *const *env;
+               const char *env;
 
-               array_foreach(envs, env) {
-                       env_put(*env);
-               }
+               array_foreach_elem(envs, env)
+                       env_put(env);
        }
 
        /* Execute */
index 54b5d5a32a341248026c4c2dae8e90c3c85ea14c..f49cde28082a0e8805858d57edd9d6796d502633 100644 (file)
@@ -288,10 +288,10 @@ program_client_remote_connected(struct program_client_remote *prclient)
        str = t_str_new(1024);
        str_append(str, PROGRAM_CLIENT_VERSION_STRING);
        if (array_is_created(&pclient->envs)) {
-               const char *const *env;
-               array_foreach(&pclient->envs, env) {
+               const char *env;
+               array_foreach_elem(&pclient->envs, env) {
                        str_append(str, "env_");
-                       str_append_tabescaped(str, *env);
+                       str_append_tabescaped(str, env);
                        str_append_c(str, '\n');
                }
        }
index 5b140b4f059733a691c6bdca30d8df19f41268ca..0255ad137573ba6a5e8f8274b4dfe95293c279e9 100644 (file)
@@ -371,7 +371,7 @@ static void driver_cassandra_set_state(struct cassandra_db *db,
 
 static void driver_cassandra_close(struct cassandra_db *db, const char *error)
 {
-       struct cassandra_sql_prepared_statement *const *prep_stmtp;
+       struct cassandra_sql_prepared_statement *prep_stmt;
        struct cassandra_result *const *resultp;
 
        io_remove(&db->io_pipe);
@@ -381,10 +381,10 @@ static void driver_cassandra_close(struct cassandra_db *db, const char *error)
        }
        driver_cassandra_set_state(db, SQL_DB_STATE_DISCONNECTED);
 
-       array_foreach(&db->pending_prepares, prep_stmtp) {
-               (*prep_stmtp)->pending = FALSE;
-               (*prep_stmtp)->error = i_strdup(error);
-               prepare_finish_pending_statements(*prep_stmtp);
+       array_foreach_elem(&db->pending_prepares, prep_stmt) {
+               prep_stmt->pending = FALSE;
+               prep_stmt->error = i_strdup(error);
+               prepare_finish_pending_statements(prep_stmt);
        }
        array_clear(&db->pending_prepares);
 
@@ -2196,10 +2196,10 @@ static void prepare_finish_statement(struct cassandra_sql_statement *stmt)
 static void
 prepare_finish_pending_statements(struct cassandra_sql_prepared_statement *prep_stmt)
 {
-       struct cassandra_sql_statement *const *stmtp;
+       struct cassandra_sql_statement *stmt;
 
-       array_foreach(&prep_stmt->pending_statements, stmtp)
-               prepare_finish_statement(*stmtp);
+       array_foreach_elem(&prep_stmt->pending_statements, stmt)
+               prepare_finish_statement(stmt);
        array_clear(&prep_stmt->pending_statements);
 }
 
@@ -2248,13 +2248,13 @@ static void prepare_start(struct cassandra_sql_prepared_statement *prep_stmt)
 
 static void driver_cassandra_prepare_pending(struct cassandra_db *db)
 {
-       struct cassandra_sql_prepared_statement *const *prep_stmtp;
+       struct cassandra_sql_prepared_statement *prep_stmt;
 
        i_assert(SQL_DB_IS_READY(&db->api));
 
-       array_foreach(&db->pending_prepares, prep_stmtp) {
-               (*prep_stmtp)->pending = FALSE;
-               prepare_start(*prep_stmtp);
+       array_foreach_elem(&db->pending_prepares, prep_stmt) {
+               prep_stmt->pending = FALSE;
+               prepare_start(prep_stmt);
        }
        array_clear(&db->pending_prepares);
 }
index c28db841805ac8a47e155681269bf7fe84d842ed..8b72f48c8262bc5e7b525b55bd3ce04812f6ca71 100644 (file)
@@ -421,7 +421,7 @@ static int
 driver_sqlpool_parse_hosts(struct sqlpool_db *db, const char *connect_string,
                           const char **error_r)
 {
-       const char *const *args, *key, *value, *const *hostnamep;
+       const char *const *args, *key, *value, *hostname;
        struct sqlpool_host *host;
        ARRAY_TYPE(const_string) hostnames, connect_args;
 
@@ -467,10 +467,10 @@ driver_sqlpool_parse_hosts(struct sqlpool_db *db, const char *connect_string,
                if (*connect_string == '\0')
                        connect_string = NULL;
 
-               array_foreach(&hostnames, hostnamep) {
+               array_foreach_elem(&hostnames, hostname) {
                        host = array_append_space(&db->hosts);
                        host->connect_string =
-                               i_strconcat("host=", *hostnamep, " ",
+                               i_strconcat("host=", hostname, " ",
                                            connect_string, NULL);
                }
        }
index f7824c93e11f0c2c3efdc238ab99797236d4e67f..b85c41f7aa2f8f5f8b5a10b9d65a4207cdf0fc76 100644 (file)
@@ -31,10 +31,10 @@ test_subprocess_signal(const siginfo_t *si ATTR_UNUSED,
 
 static void test_subprocess_free_all(void)
 {
-       struct test_subprocess **subpp;
+       struct test_subprocess *subp;
 
-       array_foreach_modifiable(&test_subprocesses, subpp)
-               i_free(*subpp);
+       array_foreach_elem(&test_subprocesses, subp)
+               i_free(subp);
        array_free(&test_subprocesses);
 }
 
index 11984b7f3a4fc9fb913994acc56c19e2edd27236..b33d524b09938faeb0896f120e0c27884d717c43 100644 (file)
@@ -153,12 +153,12 @@ lmtp_proxy_connection_deinit(struct lmtp_proxy_connection *conn)
 void lmtp_proxy_deinit(struct lmtp_proxy **_proxy)
 {
        struct lmtp_proxy *proxy = *_proxy;
-       struct lmtp_proxy_connection *const *conns;
+       struct lmtp_proxy_connection *conn;
 
        *_proxy = NULL;
 
-       array_foreach(&proxy->connections, conns)
-               lmtp_proxy_connection_deinit(*conns);
+       array_foreach_elem(&proxy->connections, conn)
+               lmtp_proxy_connection_deinit(conn);
 
        smtp_client_deinit(&proxy->lmtp_client);
        i_stream_unref(&proxy->data_input);
@@ -230,15 +230,13 @@ lmtp_proxy_get_connection(struct lmtp_proxy *proxy,
        };
        struct smtp_client_settings lmtp_set;
        struct smtp_server_transaction *trans = proxy->trans;
-       struct lmtp_proxy_connection *const *conns, *conn;
+       struct lmtp_proxy_connection *conn;
        enum smtp_client_connection_ssl_mode ssl_mode;
        struct ssl_iostream_settings ssl_set;
 
        i_assert(set->timeout_msecs > 0);
 
-       array_foreach(&proxy->connections, conns) {
-               conn = *conns;
-
+       array_foreach_elem(&proxy->connections, conn) {
                if (conn->set.protocol == set->protocol &&
                    conn->set.port == set->port &&
                    strcmp(conn->set.host, set->host) == 0 &&
@@ -787,7 +785,7 @@ void lmtp_proxy_data(struct client *client,
                     struct istream *data_input)
 {
        struct lmtp_proxy *proxy = client->proxy;
-       struct lmtp_proxy_connection *const *conns;
+       struct lmtp_proxy_connection *conn;
        uoff_t size;
 
        i_assert(data_input->seekable);
@@ -805,9 +803,7 @@ void lmtp_proxy_data(struct client *client,
        }
 
        /* Create the data_input streams first */
-       array_foreach(&proxy->connections, conns) {
-               struct lmtp_proxy_connection *conn = *conns;
-
+       array_foreach_elem(&proxy->connections, conn) {
                if (conn->finished) {
                        /* This connection had already failed */
                        continue;
@@ -824,9 +820,7 @@ void lmtp_proxy_data(struct client *client,
        /* Now that all the streams are created, start reading them
           (reading them earlier could have caused the data_input parent's
           offset to change) */
-       array_foreach(&proxy->connections, conns) {
-               struct lmtp_proxy_connection *conn = *conns;
-
+       array_foreach_elem(&proxy->connections, conn) {
                if (conn->finished) {
                        /* This connection had already failed */
                        continue;
index 5e3b59c3a887482141d13e2ca15264d8fe993afe..01927ee529c5b434a08d0155b6ff2ef46ebb080c 100644 (file)
@@ -1022,12 +1022,12 @@ static void
 login_proxy_cmd_list(struct ipc_cmd *cmd, const char *const *args ATTR_UNUSED)
 {
        struct login_proxy *proxy;
-       char *const *fieldp;
+       char *field;
        string_t *str = t_str_new(64);
 
        str_append(str, "username\t");
-       array_foreach(&global_alt_usernames, fieldp) {
-               str_append_tabescaped(str, *fieldp);
+       array_foreach_elem(&global_alt_usernames, field) {
+               str_append_tabescaped(str, field);
                str_append_c(str, '\t');
        }
        str_append(str, "service\tsrc-ip\tdest-ip\tdest-port");
index cee6d43d149df060a45853eb7934924a8ec021dc..728e7b1e5dbef0d15e9af017a81087d79e644c6b 100644 (file)
@@ -489,9 +489,9 @@ static void main_deinit(void)
        auth_client_deinit(&auth_client);
        master_auth_deinit(&master_auth);
 
-       char **strp;
-       array_foreach_modifiable(&global_alt_usernames, strp)
-               i_free(*strp);
+       char *str;
+       array_foreach_elem(&global_alt_usernames, str)
+               i_free(str);
        array_free(&global_alt_usernames);
 
        if (anvil != NULL)
index c2a113162d95e498faece2933c41ec509a904bb9..f1acba62e764d013915670c261a4cc5f9e77f839 100644 (file)
@@ -115,16 +115,16 @@ client_input_status_dsyncs(struct doveadm_connection *client)
 {
        string_t *str = t_str_new(256);
        const ARRAY_TYPE(dsync_client) *clients;
-       struct dsync_client *const *clientp;
+       struct dsync_client *dsync_client;
        const char *username;
 
        clients = replicator_brain_get_dsync_clients(client->brain);
-       array_foreach(clients, clientp) {
-               username = dsync_client_get_username(*clientp);
+       array_foreach_elem(clients, dsync_client) {
+               username = dsync_client_get_username(dsync_client);
                if (username != NULL) {
                        str_append_tabescaped(str, username);
                        str_append_c(str, '\t');
-                       switch (dsync_client_get_type(*clientp)) {
+                       switch (dsync_client_get_type(dsync_client)) {
                        case DSYNC_TYPE_FULL:
                                str_append(str, "full");
                                break;
@@ -139,7 +139,7 @@ client_input_status_dsyncs(struct doveadm_connection *client)
                        str_append(str, "\t-");
                }
                str_append_c(str, '\t');
-               str_append_tabescaped(str, dsync_client_get_state(*clientp));
+               str_append_tabescaped(str, dsync_client_get_state(dsync_client));
                str_append_c(str, '\n');
        }
 
index 370f6179cb528d7765dc2ce59eb8b0e52c47dfa3..f506aa77b113ce7e13d3a47ca3ffe6e3b34ca748 100644 (file)
@@ -55,13 +55,13 @@ replicator_brain_init(struct replicator_queue *queue,
 void replicator_brain_deinit(struct replicator_brain **_brain)
 {
        struct replicator_brain *brain = *_brain;
-       struct dsync_client **connp;
+       struct dsync_client *conn;
 
        *_brain = NULL;
 
        brain->deinitializing = TRUE;
-       array_foreach_modifiable(&brain->dsync_clients, connp)
-               dsync_client_deinit(connp);
+       array_foreach_elem(&brain->dsync_clients, conn)
+               dsync_client_deinit(&conn);
        timeout_remove(&brain->to);
        pool_unref(&brain->pool);
 }
@@ -87,11 +87,11 @@ replicator_brain_get_dsync_clients(struct replicator_brain *brain)
 static struct dsync_client *
 get_dsync_client(struct replicator_brain *brain)
 {
-       struct dsync_client *const *connp, *conn = NULL;
+       struct dsync_client *conn;
 
-       array_foreach(&brain->dsync_clients, connp) {
-               if (!dsync_client_is_busy(*connp))
-                       return *connp;
+       array_foreach_elem(&brain->dsync_clients, conn) {
+               if (!dsync_client_is_busy(conn))
+                       return conn;
        }
        if (array_count(&brain->dsync_clients) ==
            brain->set->replication_max_conns)