From: Aki Tuomi Date: Thu, 10 Jan 2019 10:11:24 +0000 (+0200) Subject: global: Really change array_idx(A, 0) to array_first(A) X-Git-Tag: 2.3.6~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=83fcb8bddbdabe460bbb04afa3a11bca5c053a2e;p=thirdparty%2Fdovecot%2Fcore.git global: Really change array_idx(A, 0) to array_first(A) Was only partially done in 27b2b51943e0f9440483abeae4c9f5805b236db9 --- diff --git a/src/auth/auth-settings.c b/src/auth/auth-settings.c index a38d63efcd..5af4f90808 100644 --- a/src/auth/auth-settings.c +++ b/src/auth/auth-settings.c @@ -380,7 +380,7 @@ auth_settings_set_self_ips(struct auth_settings *set, pool_t pool, array_append(&ips_array, ips, ips_count); } array_append_zero(&ips_array); - set->proxy_self_ips = array_idx(&ips_array, 0); + set->proxy_self_ips = array_first(&ips_array); return TRUE; } diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index 9cdf8a3920..5a75f4413f 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -651,7 +651,7 @@ ldap_request_send_subquery(struct ldap_connection *conn, if (field->ldap_attr_name[0] == '\0') { str_truncate(tmp_str, 0); if (var_expand_with_funcs(tmp_str, field->value, table, - array_idx(&var_funcs_table, 0), &ctx, &error) <= 0) { + array_first(&var_funcs_table), &ctx, &error) <= 0) { auth_request_log_error(auth_request, AUTH_SUBSYS_DB, "Failed to expand subquery %s: %s", @@ -672,7 +672,7 @@ ldap_request_send_subquery(struct ldap_connection *conn, request->request.msgid = ldap_search(conn->ld, named_res->dn, LDAP_SCOPE_BASE, - NULL, array_idx_modifiable(&ctx.attr_names, 0), 0); + NULL, array_first_modifiable(&ctx.attr_names), 0); if (request->request.msgid == -1) { auth_request_log_error(auth_request, AUTH_SUBSYS_DB, "ldap_search(dn=%s) failed: %s", @@ -1467,7 +1467,7 @@ void db_ldap_set_attrs(struct ldap_connection *conn, const char *attrlist, } } array_append_zero(&ctx.attr_names); - *attr_names_r = array_idx_modifiable(&ctx.attr_names, 0); + *attr_names_r = array_first_modifiable(&ctx.attr_names); } static const struct var_expand_table * diff --git a/src/config/config-connection.c b/src/config/config-connection.c index f3522f1060..2d11b49d63 100644 --- a/src/config/config-connection.c +++ b/src/config/config-connection.c @@ -103,7 +103,7 @@ static int config_connection_request(struct config_connection *conn, } array_append_zero(&modules); wanted_modules = array_count(&modules) == 1 ? NULL : - array_idx(&modules, 0); + array_first(&modules); if (is_master) { /* master reads configuration only when reloading settings */ diff --git a/src/config/config-filter.c b/src/config/config-filter.c index 9e238dc686..2908da0262 100644 --- a/src/config/config-filter.c +++ b/src/config/config-filter.c @@ -244,12 +244,12 @@ config_filter_find_all(struct config_filter_context *ctx, pool_t pool, } if (filter->service == NULL) { array_append_zero(&service_names); - output_r->specific_services = array_idx(&service_names, 0); + output_r->specific_services = array_first(&service_names); } array_sort(&matches, config_filter_parser_cmp); array_append_zero(&matches); - return array_idx(&matches, 0); + return array_first(&matches); } struct config_filter_parser *const * @@ -264,7 +264,7 @@ config_filter_get_all(struct config_filter_context *ctx) } array_sort(&filters, config_filter_parser_cmp_rev); array_append_zero(&filters); - return array_idx(&filters, 0); + return array_first(&filters); } struct config_filter_parser *const * @@ -297,7 +297,7 @@ config_filter_find_subset(struct config_filter_context *ctx, } array_sort(&matches, config_filter_parser_cmp_rev); array_append_zero(&matches); - return array_idx(&matches, 0); + return array_first(&matches); } static bool diff --git a/src/config/config-parser.c b/src/config/config-parser.c index 1ac1eebaeb..42310dc4ff 100644 --- a/src/config/config-parser.c +++ b/src/config/config-parser.c @@ -1108,7 +1108,7 @@ void config_parse_load_modules(void) for (i = 0; all_roots[i] != NULL; i++) array_append(&new_roots, &all_roots[i], 1); array_append_zero(&new_roots); - all_roots = array_idx(&new_roots, 0); + all_roots = array_first(&new_roots); roots_free_at_deinit = new_roots; } else { array_free(&new_roots); diff --git a/src/config/doveconf.c b/src/config/doveconf.c index 6307c2842e..10896cabfe 100644 --- a/src/config/doveconf.c +++ b/src/config/doveconf.c @@ -938,7 +938,7 @@ int main(int argc, char *argv[]) } array_append_zero(&module_names); wanted_modules = array_count(&module_names) == 1 ? NULL : - array_idx(&module_names, 0); + array_first(&module_names); config_path = master_service_get_config_path(master_service); /* use strcmp() instead of !=, because dovecot -n always gives us diff --git a/src/director/director-connection.c b/src/director/director-connection.c index 79b227045f..37e16fac27 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -942,7 +942,7 @@ director_cmd_host_hand_start(struct director_connection *conn, conn->name); hosts = mail_hosts_get(conn->dir->mail_hosts); while (array_count(hosts) > 0) { - hostp = array_idx(hosts, 0); + hostp = array_first(hosts); director_remove_host(conn->dir, NULL, NULL, *hostp); } } else if (remote_ring_completed == 0 && conn->dir->ring_handshaked) { diff --git a/src/director/director-request.c b/src/director/director-request.c index b73259132c..f241330eb8 100644 --- a/src/director/director-request.c +++ b/src/director/director-request.c @@ -89,7 +89,7 @@ static void director_request_timeout(struct director *dir) string_t *str = t_str_new(128); while (array_count(&dir->pending_requests) > 0) { - requestp = array_idx_modifiable(&dir->pending_requests, 0); + requestp = array_first_modifiable(&dir->pending_requests); request = *requestp; if (request->create_time + diff --git a/src/dns/dns-client.c b/src/dns/dns-client.c index 82df442c4b..3716b04249 100644 --- a/src/dns/dns-client.c +++ b/src/dns/dns-client.c @@ -71,9 +71,9 @@ static int dns_client_input_args(struct connection *client, const char *const *a } array_append_zero(&tmp); e_debug(e->event(), "Resolve success: %s", - t_strarray_join(array_idx(&tmp, 0), ", ")); + t_strarray_join(array_first(&tmp), ", ")); o_stream_nsend_str(client->output, - t_strarray_join(array_idx(&tmp, 0), "\t")); + t_strarray_join(array_first(&tmp), "\t")); o_stream_nsend_str(client->output, "\n"); } } else if (strcmp(args[0], "NAME") == 0) { diff --git a/src/doveadm/doveadm-cmd.c b/src/doveadm/doveadm-cmd.c index 2fcd5fdef1..eb377d1312 100644 --- a/src/doveadm/doveadm-cmd.c +++ b/src/doveadm/doveadm-cmd.c @@ -522,7 +522,7 @@ int doveadm_cmd_run_ver2(int argc, const char *const argv[], } i_assert(pargc == array_count(&opts)-1); /* opts is NULL-terminated */ - while((c = getopt_long(argc, (char*const*)argv, str_c(optbuf), array_idx(&opts, 0), &li)) > -1) { + while((c = getopt_long(argc, (char*const*)argv, str_c(optbuf), array_first(&opts), &li)) > -1) { switch(c) { case 0: for(unsigned int i = 0; i < array_count(&pargv); i++) { diff --git a/src/doveadm/doveadm-dsync.c b/src/doveadm/doveadm-dsync.c index cf9aa0a87e..22ea73b5cd 100644 --- a/src/doveadm/doveadm-dsync.c +++ b/src/doveadm/doveadm-dsync.c @@ -223,7 +223,7 @@ mirror_get_remote_cmd_line(const char *const *argv, } array_append(&cmd_args, &p, 1); array_append_zero(&cmd_args); - *cmd_args_r = array_idx(&cmd_args, 0); + *cmd_args_r = array_first(&cmd_args); } static const char *const * @@ -273,7 +273,7 @@ get_ssh_cmd_args(const char *host, const char *login, const char *mail_user) array_append(&cmd_args, &value, 1); } array_append_zero(&cmd_args); - return array_idx(&cmd_args, 0); + return array_first(&cmd_args); } static bool mirror_get_remote_cmd(struct dsync_cmd_context *ctx, diff --git a/src/doveadm/doveadm-mail-fetch.c b/src/doveadm/doveadm-mail-fetch.c index 52e613459b..bf8396ba10 100644 --- a/src/doveadm/doveadm-mail-fetch.c +++ b/src/doveadm/doveadm-mail-fetch.c @@ -606,7 +606,7 @@ cmd_fetch_box(struct fetch_cmd_context *ctx, const struct mailbox_info *info) if (doveadm_mail_iter_init(&ctx->ctx, info, ctx->ctx.search_args, ctx->wanted_fields, - array_idx(&ctx->header_fields, 0), + array_first(&ctx->header_fields), FALSE, &iter) < 0) return -1; diff --git a/src/doveadm/doveadm-mail-flags.c b/src/doveadm/doveadm-mail-flags.c index ead7079ddf..c4abd1afba 100644 --- a/src/doveadm/doveadm-mail-flags.c +++ b/src/doveadm/doveadm-mail-flags.c @@ -108,7 +108,7 @@ static void cmd_flags_init(struct doveadm_mail_cmd_context *_ctx, } if (array_count(&keywords) > 0 || ctx->modify_type == MODIFY_REPLACE) { array_append_zero(&keywords); - ctx->keywords = array_idx(&keywords, 0); + ctx->keywords = array_first(&keywords); } _ctx->search_args = doveadm_mail_build_search_args(args+1); diff --git a/src/doveadm/doveadm-mail.c b/src/doveadm/doveadm-mail.c index c93cbef079..23cb32a46f 100644 --- a/src/doveadm/doveadm-mail.c +++ b/src/doveadm/doveadm-mail.c @@ -1138,7 +1138,7 @@ doveadm_cmd_ver2_to_mail_cmd_wrapper(struct doveadm_cmd_context *cctx) array_append_array(&full_args, &pargv); mctx->args = array_idx(&full_args, args_pos); - mctx->full_args = array_idx(&full_args, 0); + mctx->full_args = array_first(&full_args); doveadm_mail_cmd_exec(mctx, wildcard_user); doveadm_mail_cmd_free(mctx); diff --git a/src/doveadm/dsync/dsync-brain-mailbox.c b/src/doveadm/dsync/dsync-brain-mailbox.c index bd8d454aaf..c87bb6a92b 100644 --- a/src/doveadm/dsync/dsync-brain-mailbox.c +++ b/src/doveadm/dsync/dsync-brain-mailbox.c @@ -644,7 +644,7 @@ dsync_cache_fields_update(const struct dsync_mailbox *local_box, if (array_count(&local_sorted) == 0) { /* local has no cached fields. set them to same as remote. */ array_append_zero(&remote_sorted); - update->cache_updates = array_idx(&remote_sorted, 0); + update->cache_updates = array_first(&remote_sorted); return; } @@ -689,7 +689,7 @@ dsync_cache_fields_update(const struct dsync_mailbox *local_box, i_assert(li == local_count && ri == remote_count); if (array_count(&changes) > 0) { array_append_zero(&changes); - update->cache_updates = array_idx(&changes, 0); + update->cache_updates = array_first(&changes); } } diff --git a/src/doveadm/dsync/dsync-mailbox-import.c b/src/doveadm/dsync/dsync-mailbox-import.c index e6a8f9b44e..707fcc5563 100644 --- a/src/doveadm/dsync/dsync-mailbox-import.c +++ b/src/doveadm/dsync/dsync-mailbox-import.c @@ -1185,14 +1185,14 @@ merge_keywords(struct mail *mail, const ARRAY_TYPE(const_string) *local_changes, if (array_count(&add_keywords) > 0) { array_append_zero(&add_keywords); kw = mailbox_keywords_create_valid(mail->box, - array_idx(&add_keywords, 0)); + array_first(&add_keywords)); mail_update_keywords(mail, MODIFY_ADD, kw); mailbox_keywords_unref(&kw); } if (array_count(&remove_keywords) > 0) { array_append_zero(&remove_keywords); kw = mailbox_keywords_create_valid(mail->box, - array_idx(&remove_keywords, 0)); + array_first(&remove_keywords)); mail_update_keywords(mail, MODIFY_REMOVE, kw); mailbox_keywords_unref(&kw); } @@ -1228,7 +1228,7 @@ dsync_mailbox_import_replace_flags(struct mail *mail, } array_append_zero(&keywords); - kw = mailbox_keywords_create_valid(mail->box, array_idx(&keywords, 0)); + kw = mailbox_keywords_create_valid(mail->box, array_first(&keywords)); mail_update_keywords(mail, MODIFY_REPLACE, kw); mailbox_keywords_unref(&kw); @@ -2324,7 +2324,7 @@ dsync_mailbox_get_final_keywords(const struct dsync_mail_change *change) return NULL; array_append_zero(&keywords); - return array_idx(&keywords, 0); + return array_first(&keywords); } static void diff --git a/src/imap-urlauth/imap-urlauth-worker.c b/src/imap-urlauth/imap-urlauth-worker.c index 158a788bcb..6765f3c3c3 100644 --- a/src/imap-urlauth/imap-urlauth-worker.c +++ b/src/imap-urlauth/imap-urlauth-worker.c @@ -1014,7 +1014,8 @@ int main(int argc, char *argv[]) T_BEGIN { if (array_count(&access_apps) > 0) { (void)array_append_space(&access_apps); - main_stdio_run(access_user, array_idx(&access_apps,0)); + main_stdio_run(access_user, + array_first(&access_apps)); } else { main_stdio_run(access_user, NULL); } diff --git a/src/imap/cmd-list.c b/src/imap/cmd-list.c index be3a868621..dd61190a23 100644 --- a/src/imap/cmd-list.c +++ b/src/imap/cmd-list.c @@ -291,7 +291,7 @@ list_get_ref_patterns(struct cmd_list_context *ctx, const char *ref, array_append(&full_patterns, &pattern, 1); } array_append_zero(&full_patterns); /* NULL-terminate */ - return array_idx(&full_patterns, 0); + return array_first(&full_patterns); } static void cmd_list_init(struct cmd_list_context *ctx, @@ -455,7 +455,7 @@ bool cmd_list_full(struct client_command_context *cmd, bool lsub) } array_append_zero(&patterns); /* NULL-terminate */ - patterns_strarr = array_idx(&patterns, 0); + patterns_strarr = array_first(&patterns); if (!ctx->used_listext && !lsub && *patterns_strarr[0] == '\0') { /* Only LIST ref "" gets us here */ cmd_list_ref_root(client, ref); diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index 8c308ba02b..1d84844c01 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -1540,7 +1540,7 @@ const char *const *client_enabled_features(struct client *client) } } array_append_zero(&feature_strings); - return array_idx(&feature_strings, 0); + return array_first(&feature_strings); } struct imap_search_update * diff --git a/src/imap/imap-commands-util.c b/src/imap/imap-commands-util.c index eb72bb0714..ee2d20c943 100644 --- a/src/imap/imap-commands-util.c +++ b/src/imap/imap-commands-util.c @@ -283,7 +283,7 @@ bool client_parse_mail_flags(struct client_command_context *cmd, *keywords_r = NULL; else { array_append_zero(&keywords); /* NULL-terminate */ - *keywords_r = array_idx(&keywords, 0); + *keywords_r = array_first(&keywords); } return TRUE; } @@ -360,7 +360,7 @@ client_get_keyword_names(struct client *client, ARRAY_TYPE(keywords) *dest, } array_append_zero(dest); - return array_idx(dest, 0); + return array_first(dest); } void msgset_generator_init(struct msgset_generator_context *ctx, string_t *str) diff --git a/src/imap/imap-fetch.c b/src/imap/imap-fetch.c index 23bf17167b..ffeec50bb7 100644 --- a/src/imap/imap-fetch.c +++ b/src/imap/imap-fetch.c @@ -200,7 +200,7 @@ expunges_drop_known(struct mailbox *box, unsigned int i, count; seqs = array_get(qresync_args->qresync_sample_seqset, &count); - uids = array_idx(qresync_args->qresync_sample_uidset, 0); + uids = array_first(qresync_args->qresync_sample_uidset); i_assert(array_count(qresync_args->qresync_sample_uidset) == count); i_assert(count > 0); diff --git a/src/lib-auth/auth-master.c b/src/lib-auth/auth-master.c index c671654067..e251c082d2 100644 --- a/src/lib-auth/auth-master.c +++ b/src/lib-auth/auth-master.c @@ -185,7 +185,7 @@ static const char *const *args_hide_passwords(const char *const *args) } } array_append_zero(&new_args); - return array_idx(&new_args, 0); + return array_first(&new_args); } static bool auth_lookup_reply_callback(const char *cmd, const char *const *args, diff --git a/src/lib-dict-backend/dict-ldap.c b/src/lib-dict-backend/dict-ldap.c index f504833f1c..64471c6f31 100644 --- a/src/lib-dict-backend/dict-ldap.c +++ b/src/lib-dict-backend/dict-ldap.c @@ -222,7 +222,7 @@ ldap_dict_build_query(struct ldap_dict *dict, const struct dict_ldap_map *map, array_append_zero(&exp); - if (var_expand(query_r, template, array_idx(&exp, 0), &error) <= 0) { + if (var_expand(query_r, template, array_first(&exp), &error) <= 0) { *error_r = t_strdup_printf("Failed to expand %s: %s", template, error); return FALSE; } diff --git a/src/lib-fts/fts-icu.c b/src/lib-fts/fts-icu.c index 7dcd548cb2..f72b77758f 100644 --- a/src/lib-fts/fts-icu.c +++ b/src/lib-fts/fts-icu.c @@ -184,9 +184,9 @@ int fts_icu_transliterator_create(const char *id, t_array_init(&id_utf16, strlen(id)); fts_icu_utf8_to_utf16(&id_utf16, id); - *transliterator_r = utrans_openU(array_idx(&id_utf16, 0), - array_count(&id_utf16), - UTRANS_FORWARD, NULL, 0, &perr, &err); + *transliterator_r = utrans_openU(array_first(&id_utf16), + array_count(&id_utf16), + UTRANS_FORWARD, NULL, 0, &perr, &err); if (U_FAILURE(err)) { string_t *str = t_str_new(128); diff --git a/src/lib-fts/test-fts-icu.c b/src/lib-fts/test-fts-icu.c index cdf79c32d6..ad8ec10986 100644 --- a/src/lib-fts/test-fts-icu.c +++ b/src/lib-fts/test-fts-icu.c @@ -87,7 +87,8 @@ static UTransliterator *get_translit(const char *id) t_array_init(&id_utf16, 8); fts_icu_utf8_to_utf16(&id_utf16, id); - translit = utrans_openU(array_idx(&id_utf16, 0), array_count(&id_utf16), + translit = utrans_openU(array_first(&id_utf16), + array_count(&id_utf16), UTRANS_FORWARD, NULL, 0, &perr, &err); test_assert(!U_FAILURE(err)); return translit; @@ -133,7 +134,7 @@ static void test_fts_icu_translate_resize(void) fts_icu_utf8_to_utf16(&src_utf16, src_utf8); t_array_init(&dest, i); test_assert(buffer_get_writable_size(dest.arr.buffer) == i*2); - test_assert(fts_icu_translate(&dest, array_idx(&src_utf16, 0), + test_assert(fts_icu_translate(&dest, array_first(&src_utf16), array_count(&src_utf16), translit, &error) == 0); } diff --git a/src/lib-imap-storage/imap-msgpart.c b/src/lib-imap-storage/imap-msgpart.c index a69aa99118..256838393a 100644 --- a/src/lib-imap-storage/imap-msgpart.c +++ b/src/lib-imap-storage/imap-msgpart.c @@ -192,7 +192,7 @@ imap_msgpart_parse_header_fields(struct imap_msgpart *msgpart, return -1; array_append_zero(&fields); - msgpart->headers = array_idx(&fields, 0); + msgpart->headers = array_first(&fields); return 0; } diff --git a/src/lib-imap/imap-match.c b/src/lib-imap/imap-match.c index 076635f7c1..0ac5fa2fc8 100644 --- a/src/lib-imap/imap-match.c +++ b/src/lib-imap/imap-match.c @@ -193,7 +193,7 @@ imap_match_dup_real(pool_t pool, const struct imap_match_glob *glob) array_append(&patterns, &p->pattern, 1); } array_append_zero(&patterns); - return imap_match_init_multiple_real(pool, array_idx(&patterns, 0), + return imap_match_init_multiple_real(pool, array_first(&patterns), inboxcase, glob->sep); } diff --git a/src/lib-index/mail-index-fsck.c b/src/lib-index/mail-index-fsck.c index f001eaff06..4a1f956ce8 100644 --- a/src/lib-index/mail-index-fsck.c +++ b/src/lib-index/mail-index-fsck.c @@ -197,7 +197,7 @@ mail_index_fsck_keywords(struct mail_index *index, struct mail_index_map *map, /* give new names to invalid keywords */ changed_count = 0; - name_array = array_idx_modifiable(&names, 0); + name_array = array_first_modifiable(&names); for (i = j = 0; i < keywords_count; i++) { while (name_array[i][0] == '\0') { name = t_strdup_printf("unknown-%d", j++); diff --git a/src/lib-index/mail-index-sync.c b/src/lib-index/mail-index-sync.c index 40fac37fd7..c48b125000 100644 --- a/src/lib-index/mail-index-sync.c +++ b/src/lib-index/mail-index-sync.c @@ -220,7 +220,7 @@ mail_index_sync_read_and_sort(struct mail_index_sync_ctx *ctx) } keyword_updates = keyword_count == 0 ? NULL : - array_idx(&sync_trans->keyword_updates, 0); + array_first(&sync_trans->keyword_updates); for (i = 0; i < keyword_count; i++) { if (array_is_created(&keyword_updates[i].add_seq)) { synclist = array_append_space(&ctx->sync_list); diff --git a/src/lib-ldap/ldap-entry.c b/src/lib-ldap/ldap-entry.c index 7d288d6500..cc437e5bae 100644 --- a/src/lib-ldap/ldap-entry.c +++ b/src/lib-ldap/ldap-entry.c @@ -45,7 +45,7 @@ int ldap_entry_init(struct ldap_entry *obj, struct ldap_result *result, ber_free(bptr, 0); array_append_zero(&attr_names); - obj->attr_names = array_idx(&attr_names, 0); + obj->attr_names = array_first(&attr_names); return 0; } diff --git a/src/lib-ldap/ldap-search.c b/src/lib-ldap/ldap-search.c index 9f217976a6..9a5d481e0b 100644 --- a/src/lib-ldap/ldap-search.c +++ b/src/lib-ldap/ldap-search.c @@ -157,7 +157,7 @@ void ldap_connection_search_start(struct ldap_connection *conn, array_append(&arr, &tmp, 1); } array_append_zero(&arr); - req->input.search.attributes = array_idx_modifiable(&arr, 0); + req->input.search.attributes = array_first_modifiable(&arr); } req->send_request_cb = ldap_search_send; diff --git a/src/lib-mail/message-part-data.c b/src/lib-mail/message-part-data.c index 1263ab30dd..74766fb77a 100644 --- a/src/lib-mail/message-part-data.c +++ b/src/lib-mail/message-part-data.c @@ -399,7 +399,7 @@ parse_content_language(struct message_part_data *data, if (array_count(&langs) > 0) { array_append_zero(&langs); data->content_language = - p_strarray_dup(pool, array_idx(&langs, 0)); + p_strarray_dup(pool, array_first(&langs)); } } diff --git a/src/lib-mail/rfc2231-parser.c b/src/lib-mail/rfc2231-parser.c index 6aa25470a3..4f15499808 100644 --- a/src/lib-mail/rfc2231-parser.c +++ b/src/lib-mail/rfc2231-parser.c @@ -108,7 +108,7 @@ int rfc2231_parse(struct rfc822_parser_context *ctx, if (array_count(&rfc2231_params_arr) == 0) { /* No RFC 2231 parameters */ array_append_zero(&result); /* NULL-terminate */ - *result_r = array_idx(&result, 0); + *result_r = array_first(&result); return broken ? -1 : 0; } @@ -174,6 +174,6 @@ int rfc2231_parse(struct rfc822_parser_context *ctx, } } array_append_zero(&result); /* NULL-terminate */ - *result_r = array_idx(&result, 0); + *result_r = array_first(&result); return broken ? -1 : 0; } diff --git a/src/lib-master/master-service-settings.c b/src/lib-master/master-service-settings.c index 33ed4153bc..11ba4f0b8a 100644 --- a/src/lib-master/master-service-settings.c +++ b/src/lib-master/master-service-settings.c @@ -165,11 +165,11 @@ static int parse_query(const char *str, struct event_filter_query *query_r, if (array_is_created(&categories)) { array_append_zero(&categories); - query_r->categories = array_idx(&categories, 0); + query_r->categories = array_first(&categories); } if (array_is_created(&fields)) { array_append_zero(&fields); - query_r->fields = array_idx(&fields, 0); + query_r->fields = array_first(&fields); } return 0; } @@ -542,7 +542,7 @@ config_read_reply_header(struct istream *istream, const char *path, pool_t pool, } if (input->service == NULL) { array_append_zero(&services); - output_r->specific_services = array_idx(&services, 0); + output_r->specific_services = array_first(&services); } } T_END; return 0; @@ -615,7 +615,7 @@ int master_service_settings_get_filters(struct master_service *service, } array_append_zero(&filters_tmp); - *filters = array_idx(&filters_tmp, 0); + *filters = array_first(&filters_tmp); return 0; } @@ -684,7 +684,7 @@ int master_service_settings_read(struct master_service *service, } parser = settings_parser_init_list(service->set_pool, - array_idx(&all_roots, 0), array_count(&all_roots), + array_first(&all_roots), array_count(&all_roots), SETTINGS_PARSER_FLAG_IGNORE_UNKNOWN_KEYS); if (fd != -1) { diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index fff242dcd3..5addcc7ee1 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -655,7 +655,7 @@ static void master_service_import_environment_real(const char *import_environmen } array_append_zero(&keys); - value = t_strarray_join(array_idx(&keys, 0), " "); + value = t_strarray_join(array_first(&keys), " "); env_put(t_strconcat(DOVECOT_PRESERVE_ENVS_ENV"=", value, NULL)); } diff --git a/src/lib-program-client/program-client-local.c b/src/lib-program-client/program-client-local.c index b8eee657b0..6798e72a9a 100644 --- a/src/lib-program-client/program-client-local.c +++ b/src/lib-program-client/program-client-local.c @@ -123,7 +123,7 @@ void exec_child(const char *bin_path, const char *const *args, /* Execute */ - args = array_idx(&exec_args, 0); + args = array_first(&exec_args); execvp_const(args[0], args); } diff --git a/src/lib-settings/settings-parser.c b/src/lib-settings/settings-parser.c index 458b40e6c6..8e4b5bc828 100644 --- a/src/lib-settings/settings-parser.c +++ b/src/lib-settings/settings-parser.c @@ -1558,7 +1558,7 @@ setting_copy(enum setting_type type, const void *src, void *dest, pool_t pool, i_assert(dest_count % 2 == 0); for (i = 0; i < count; i += 2) { if (dest_count > 0) { - dest_strings = array_idx(dest_arr, 0); + dest_strings = array_first(dest_arr); for (j = 0; j < dest_count; j += 2) { if (strcmp(strings[i], dest_strings[j]) == 0) break; @@ -1722,7 +1722,7 @@ info_update_real(pool_t pool, struct setting_parser_info *parent, } new_defines = p_new(pool, struct setting_define, array_count(&defines) + 1); - memcpy(new_defines, array_idx(&defines, 0), + memcpy(new_defines, array_first(&defines), sizeof(*parent->defines) * array_count(&defines)); parent->defines = new_defines; @@ -1756,7 +1756,7 @@ info_update_real(pool_t pool, struct setting_parser_info *parent, parent->dynamic_parsers = p_new(pool, struct dynamic_settings_parser, array_count(&dynamic_parsers) + 1); - memcpy(parent->dynamic_parsers, array_idx(&dynamic_parsers, 0), + memcpy(parent->dynamic_parsers, array_first(&dynamic_parsers), sizeof(*parent->dynamic_parsers) * array_count(&dynamic_parsers)); parent->struct_size = new_struct_size; diff --git a/src/lib-smtp/smtp-submit.c b/src/lib-smtp/smtp-submit.c index 428eb6ff19..7e9b89aeb2 100644 --- a/src/lib-smtp/smtp-submit.c +++ b/src/lib-smtp/smtp-submit.c @@ -387,7 +387,7 @@ smtp_submit_send_sendmail(struct smtp_submit *subm) restrict_access_init(&pc_set.restrict_set); pc = program_client_local_create - (sendmail_bin, array_idx(&args, 0), &pc_set); + (sendmail_bin, array_first(&args), &pc_set); program_client_set_input(pc, subm->input); i_stream_unref(&subm->input); diff --git a/src/lib-smtp/smtp-syntax.c b/src/lib-smtp/smtp-syntax.c index b02997a09a..6c1234fed7 100644 --- a/src/lib-smtp/smtp-syntax.c +++ b/src/lib-smtp/smtp-syntax.c @@ -274,7 +274,7 @@ static int smtp_parse_ehlo_line(struct smtp_parser *parser, param = p_strdup_until(parser->pool, pbegin, parser->cur); array_append(¶ms, ¶m, 1); array_append_zero(¶ms); - *params_r = array_idx(¶ms, 0); + *params_r = array_first(¶ms); } return 1; } diff --git a/src/lib-sql/driver-sqlpool.c b/src/lib-sql/driver-sqlpool.c index fd327131fe..1be7f2666c 100644 --- a/src/lib-sql/driver-sqlpool.c +++ b/src/lib-sql/driver-sqlpool.c @@ -457,7 +457,7 @@ driver_sqlpool_parse_hosts(struct sqlpool_db *db, const char *connect_string, /* build a new connect string without our settings or hosts */ array_append_zero(&connect_args); - connect_string = t_strarray_join(array_idx(&connect_args, 0), " "); + connect_string = t_strarray_join(array_first(&connect_args), " "); if (array_count(&hostnames) == 0) { /* no hosts specified. create a default one. */ diff --git a/src/lib-storage/index/dbox-multi/mdbox-map.c b/src/lib-storage/index/dbox-multi/mdbox-map.c index 9a4d47cb7c..dc03b0ce1f 100644 --- a/src/lib-storage/index/dbox-multi/mdbox-map.c +++ b/src/lib-storage/index/dbox-multi/mdbox-map.c @@ -1321,7 +1321,7 @@ int mdbox_map_append_assign_map_uids(struct mdbox_map_append_context *ctx, hdr = mail_index_get_header(ctx->atomic->sync_view); t_array_init(&uids, 1); mail_index_append_finish_uids(ctx->trans, hdr->next_uid, &uids); - range = array_idx(&uids, 0); + range = array_first(&uids); i_assert(range[0].seq2 - range[0].seq1 + 1 == count); if (hdr->uid_validity == 0) { diff --git a/src/lib-storage/index/imapc/imapc-mail-fetch.c b/src/lib-storage/index/imapc/imapc-mail-fetch.c index bc52eca94a..695edc8a79 100644 --- a/src/lib-storage/index/imapc/imapc-mail-fetch.c +++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c @@ -137,7 +137,7 @@ headers_merge(pool_t pool, const char *const *h1, const char *const *h2) } } array_append_zero(&headers); - return array_idx(&headers, 0); + return array_first(&headers); } static bool @@ -734,7 +734,7 @@ imapc_fetch_header_stream(struct imapc_mail *mail, return; array_append_zero(&hdr_arr); - if (headers_have_subset(array_idx(&hdr_arr, 0), mail->fetching_headers)) + if (headers_have_subset(array_first(&hdr_arr), mail->fetching_headers)) mail->header_list_fetched = TRUE; if (args->type == IMAP_ARG_LITERAL_SIZE) { @@ -752,7 +752,7 @@ imapc_fetch_header_stream(struct imapc_mail *mail, } headers_ctx = mailbox_header_lookup_init(mail->imail.mail.mail.box, - array_idx(&hdr_arr, 0)); + array_first(&hdr_arr)); index_mail_parse_header_init(&mail->imail, headers_ctx); parser = message_parse_header_init(input, NULL, hdr_parser_flags); diff --git a/src/lib-storage/index/imapc/imapc-mailbox.c b/src/lib-storage/index/imapc/imapc-mailbox.c index 2763eb276b..821ee086c5 100644 --- a/src/lib-storage/index/imapc/imapc-mailbox.c +++ b/src/lib-storage/index/imapc/imapc-mailbox.c @@ -593,7 +593,7 @@ static void imapc_untagged_fetch(const struct imapc_untagged_reply *reply, array_append_zero(&keywords); kw = mail_index_keywords_create(mbox->box.index, - array_idx(&keywords, 0)); + array_first(&keywords)); if (!keywords_are_equal(kw, &old_kws)) { mail_index_update_keywords(mbox->delayed_sync_trans, lseq, MODIFY_REPLACE, kw); diff --git a/src/lib-storage/index/index-mail-headers.c b/src/lib-storage/index/index-mail-headers.c index ce048230e6..969a91c196 100644 --- a/src/lib-storage/index/index-mail-headers.c +++ b/src/lib-storage/index/index-mail-headers.c @@ -621,7 +621,7 @@ index_mail_get_parsed_header(struct index_mail *mail, unsigned int field_idx) } array_append_zero(&header_values); - return array_idx(&header_values, 0); + return array_first(&header_values); } static int @@ -707,7 +707,7 @@ index_mail_get_raw_headers(struct index_mail *mail, const char *field, } array_append_zero(&header_values); - *value_r = array_idx(&header_values, 0); + *value_r = array_first(&header_values); return 0; } diff --git a/src/lib-storage/index/index-mail.c b/src/lib-storage/index/index-mail.c index f2f84473e4..3a334da3dc 100644 --- a/src/lib-storage/index/index-mail.c +++ b/src/lib-storage/index/index-mail.c @@ -2084,7 +2084,7 @@ void index_mail_add_temp_wanted_fields(struct mail *_mail, array_append_zero(&names); new_wanted_headers = mailbox_header_lookup_init(_mail->box, - array_idx(&names, 0)); + array_first(&names)); if (data->wanted_headers != NULL) mailbox_header_lookup_unref(&data->wanted_headers); data->wanted_headers = new_wanted_headers; diff --git a/src/lib-storage/index/index-search.c b/src/lib-storage/index/index-search.c index 2dd424f268..e13389ac8f 100644 --- a/src/lib-storage/index/index-search.c +++ b/src/lib-storage/index/index-search.c @@ -1263,7 +1263,7 @@ wanted_sort_fields_get(struct mailbox *box, if (array_count(&headers) > 0) { array_append_zero(&headers); *headers_ctx_r = mailbox_header_lookup_init(box, - array_idx(&headers, 0)); + array_first(&headers)); } } diff --git a/src/lib-storage/index/index-storage.c b/src/lib-storage/index/index-storage.c index 56199fdb4f..1150596011 100644 --- a/src/lib-storage/index/index-storage.c +++ b/src/lib-storage/index/index-storage.c @@ -501,7 +501,7 @@ index_storage_mailbox_update_cache(struct mailbox *box, } if (array_count(&new_fields) > 0) { mail_cache_register_fields(box->cache, - array_idx_modifiable(&new_fields, 0), + array_first_modifiable(&new_fields), array_count(&new_fields)); } } diff --git a/src/lib-storage/index/index-thread-finish.c b/src/lib-storage/index/index-thread-finish.c index d4fb68809b..9f82ad7acf 100644 --- a/src/lib-storage/index/index-thread-finish.c +++ b/src/lib-storage/index/index-thread-finish.c @@ -230,7 +230,7 @@ static void gather_base_subjects(struct thread_finish_context *ctx) /* find the oldest child */ thread_sort_children(ctx, roots[i].node.idx, &sorted_children); - children = array_idx(&sorted_children, 0); + children = array_first(&sorted_children); idx = children[0].idx; } else { /* dummy without children */ @@ -370,7 +370,7 @@ static void sort_root_nodes(struct thread_finish_context *ctx) unsigned int i, count, child_count; i_array_init(&sorted_children, 64); - shadows = array_idx(&ctx->shadow_nodes, 0); + shadows = array_first(&ctx->shadow_nodes); roots = array_get_modifiable(&ctx->roots, &count); for (i = 0; i < count; i++) { if (roots[i].ignore) diff --git a/src/lib-storage/index/pop3c/pop3c-sync.c b/src/lib-storage/index/pop3c/pop3c-sync.c index b63d9c224d..8fc95cead4 100644 --- a/src/lib-storage/index/pop3c/pop3c-sync.c +++ b/src/lib-storage/index/pop3c/pop3c-sync.c @@ -72,7 +72,7 @@ int pop3c_sync_get_uidls(struct pop3c_mailbox *mbox) /* make msg_uidls non-NULL */ array_append_zero(&uidls); } - mbox->msg_uidls = array_idx(&uidls, 0); + mbox->msg_uidls = array_first(&uidls); mbox->msg_count = seq; return 0; } diff --git a/src/lib-storage/list/mailbox-list-fs-iter.c b/src/lib-storage/list/mailbox-list-fs-iter.c index ace5974346..098df35e59 100644 --- a/src/lib-storage/list/mailbox-list-fs-iter.c +++ b/src/lib-storage/list/mailbox-list-fs-iter.c @@ -390,7 +390,7 @@ fs_list_get_valid_patterns(struct fs_list_iterate_context *ctx, } } array_append_zero(&valid_patterns); /* NULL-terminate */ - ctx->valid_patterns = array_idx(&valid_patterns, 0); + ctx->valid_patterns = array_first(&valid_patterns); return array_count(&valid_patterns) > 1; } diff --git a/src/lib-storage/mail-search.c b/src/lib-storage/mail-search.c index 8abd4b9933..ff91399d51 100644 --- a/src/lib-storage/mail-search.c +++ b/src/lib-storage/mail-search.c @@ -38,7 +38,7 @@ mailbox_uidset_change(struct mail_search_arg *arg, struct mailbox *box, return; } uids = t_new(struct seq_range, count); - memcpy(uids, array_idx(&arg->value.seqset, 0), sizeof(*uids) * count); + memcpy(uids, array_first(&arg->value.seqset), sizeof(*uids) * count); /* put them back to the range as sequences */ array_clear(&arg->value.seqset); diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c index 232d0412a3..815ef3d03a 100644 --- a/src/lib-storage/mail-storage-settings.c +++ b/src/lib-storage/mail-storage-settings.c @@ -561,7 +561,7 @@ static bool mail_storage_settings_check(void *_set, pool_t pool, } array_append_zero(&content_types); - set->parsed_mail_attachment_content_type_filter = array_idx(&content_types, 0); + set->parsed_mail_attachment_content_type_filter = array_first(&content_types); } return TRUE; diff --git a/src/lib-storage/mailbox-get.c b/src/lib-storage/mailbox-get.c index 8e9864b3f4..0886ef2573 100644 --- a/src/lib-storage/mailbox-get.c +++ b/src/lib-storage/mailbox-get.c @@ -176,7 +176,7 @@ mailbox_get_expunges_full(struct mailbox *box, uint64_t prev_modseq, if (ret != 0) return ret > 0; - range = array_idx(uids_filter, 0); + range = array_first(uids_filter); min_uid = range->seq1; /* first get UIDs of all actual expunges */ diff --git a/src/lib/event-filter.c b/src/lib/event-filter.c index b98692a60f..2141e24345 100644 --- a/src/lib/event-filter.c +++ b/src/lib/event-filter.c @@ -240,7 +240,7 @@ void event_filter_merge(struct event_filter *dest, &event_filter_log_type_names[i], 1); } array_append_zero(&categories); - query.categories = array_idx(&categories, 0); + query.categories = array_first(&categories); } if (int_query->fields_count > 0) { ARRAY(struct event_filter_field) fields; @@ -253,7 +253,7 @@ void event_filter_merge(struct event_filter *dest, field->value = p_strdup(dest->pool, int_query->fields[i].value.str); } array_append_zero(&fields); - query.fields = array_idx(&fields, 0); + query.fields = array_first(&fields); } event_filter_add(dest, &query); @@ -340,11 +340,11 @@ bool event_filter_import_unescaped(struct event_filter *filter, /* finish the query */ if (array_count(&categories) > 0) { array_append_zero(&categories); - query.categories = array_idx(&categories, 0); + query.categories = array_first(&categories); } if (array_count(&fields) > 0) { array_append_zero(&fields); - query.fields = array_idx(&fields, 0); + query.fields = array_first(&fields); } event_filter_add(filter, &query); diff --git a/src/lib/strfuncs.c b/src/lib/strfuncs.c index 4067629214..ef4c3270dc 100644 --- a/src/lib/strfuncs.c +++ b/src/lib/strfuncs.c @@ -861,5 +861,6 @@ char *p_array_const_string_join(pool_t pool, const ARRAY_TYPE(const_string) *arr { if (array_count(arr) == 0) return ""; - return p_strarray_join_n(pool, array_idx(arr, 0), array_count(arr), separator); + return p_strarray_join_n(pool, array_first(arr), array_count(arr), + separator); } diff --git a/src/lib/test-array.c b/src/lib/test-array.c index 521c2424a6..4172eac198 100644 --- a/src/lib/test-array.c +++ b/src/lib/test-array.c @@ -144,7 +144,7 @@ static void test_array_reverse(void) array_append(&intarr, input, i); array_reverse(&intarr); - output = i == 0 ? NULL : array_idx(&intarr, 0); + output = i == 0 ? NULL : array_first(&intarr); for (j = 0; j < i; j++) test_assert(input[i-j-1] == output[j]); } @@ -305,7 +305,7 @@ enum fatal_test_state fatal_array(unsigned int stage) t_array_init(&ad, 3); /* allocation big enough, but memory not initialised */ test_expect_fatal_string("(array_idx_i): assertion failed: (idx < array->buffer->used / array->element_size)"); - useless_ptr = array_idx(&ad, 0); + useless_ptr = array_first(&ad); return FATAL_TEST_FAILURE; } diff --git a/src/lib/test-seq-range-array.c b/src/lib/test-seq-range-array.c index f17960dfd6..0a23937691 100644 --- a/src/lib/test-seq-range-array.c +++ b/src/lib/test-seq-range-array.c @@ -71,10 +71,10 @@ static void test_seq_range_array_remove_nth(void) test_assert(array_count(&range) == 3); seq_range_array_remove_nth(&range, 0, 2); - r = array_idx(&range, 0); test_assert(r->seq1 == 3 && r->seq2 == 5); + r = array_first(&range); test_assert(r->seq1 == 3 && r->seq2 == 5); seq_range_array_remove_nth(&range, 1, 4); - r = array_idx(&range, 0); test_assert(r->seq1 == 3 && r->seq2 == 3); + r = array_first(&range); test_assert(r->seq1 == 3 && r->seq2 == 3); r = array_idx(&range, 1); test_assert(r->seq1 == 11 && r->seq2 == 20); seq_range_array_remove_nth(&range, 5, (uint32_t)-1); diff --git a/src/lib/var-expand-if.c b/src/lib/var-expand-if.c index 05a0d2638a..79d72869b4 100644 --- a/src/lib/var-expand-if.c +++ b/src/lib/var-expand-if.c @@ -242,7 +242,7 @@ int var_expand_if(struct var_expand_context *ctx, } array_append_zero(¶ms); - parms = array_idx(¶ms, 0); + parms = array_first(¶ms); t_array_init(¶ms, 6); for(;*parms != NULL; parms++) { @@ -260,7 +260,7 @@ int var_expand_if(struct var_expand_context *ctx, i_assert(array_count(¶ms) == 5); /* execute comparison */ - const char *const *args = array_idx(¶ms, 0); + const char *const *args = array_first(¶ms); if (var_expand_if_comp(args[0], args[1], args[2], &result, error_r)<0) return -1; *result_r = result ? args[3] : args[4]; diff --git a/src/lib/var-expand.c b/src/lib/var-expand.c index 52c2bdb6f4..56ea67a05c 100644 --- a/src/lib/var-expand.c +++ b/src/lib/var-expand.c @@ -824,5 +824,5 @@ var_expand_merge_tables(pool_t pool, const struct var_expand_table *a, entry->long_key = p_strdup(pool, b[i].long_key); } array_append_zero(&table); - return array_idx_modifiable(&table, 0); + return array_first_modifiable(&table); } diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index 29ad6abd11..2f04f200fc 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -224,7 +224,7 @@ static void client_auth_parse_args(struct client *client, bool success, alt = p_new(client->pool, const char *, array_count(&alt_usernames) + 1); - memcpy(alt, array_idx(&alt_usernames, 0), + memcpy(alt, array_first(&alt_usernames), sizeof(*alt) * array_count(&alt_usernames)); client->alt_usernames = alt; } diff --git a/src/plugins/acl/acl-api.c b/src/plugins/acl/acl-api.c index cbedae42b2..c82599b1e4 100644 --- a/src/plugins/acl/acl-api.c +++ b/src/plugins/acl/acl-api.c @@ -364,13 +364,13 @@ int acl_rights_update_import(struct acl_rights_update *update, } if (array_count(&dest_rights) > 0) { array_append_zero(&dest_rights); - update->rights.rights = array_idx(&dest_rights, 0); + update->rights.rights = array_first(&dest_rights); } else if (update->modify_mode == ACL_MODIFY_MODE_REPLACE) { update->modify_mode = ACL_MODIFY_MODE_CLEAR; } if (array_count(&dest_neg_rights) > 0) { array_append_zero(&dest_neg_rights); - update->rights.neg_rights = array_idx(&dest_neg_rights, 0); + update->rights.neg_rights = array_first(&dest_neg_rights); } else if (update->neg_modify_mode == ACL_MODIFY_MODE_REPLACE) { update->neg_modify_mode = ACL_MODIFY_MODE_CLEAR; } @@ -695,7 +695,7 @@ bool acl_right_names_modify(pool_t pool, } new_rights = &null; modify_rights = array_count(&rights) == 0 ? NULL : - array_idx(&rights, 0); + array_first(&rights); acl_right_names_merge(pool, &new_rights, modify_rights, TRUE); break; case ACL_MODIFY_MODE_ADD: diff --git a/src/plugins/apparmor/apparmor-plugin.c b/src/plugins/apparmor/apparmor-plugin.c index a847c5f128..3ba26c432d 100644 --- a/src/plugins/apparmor/apparmor-plugin.c +++ b/src/plugins/apparmor/apparmor-plugin.c @@ -88,7 +88,7 @@ static void apparmor_mail_user_created(struct mail_user *user) random_fill(&auser->token, sizeof(auser->token)); /* try change hat */ - if (aa_change_hatv(array_idx_modifiable(&hats, 0), auser->token) < 0) { + if (aa_change_hatv(array_first_modifiable(&hats), auser->token) < 0) { i_fatal("aa_change_hatv(%s) failed: %m", t_array_const_string_join(&hats, ",")); } diff --git a/src/plugins/expire/doveadm-expire.c b/src/plugins/expire/doveadm-expire.c index 649e39b9e0..a577dc491c 100644 --- a/src/plugins/expire/doveadm-expire.c +++ b/src/plugins/expire/doveadm-expire.c @@ -184,7 +184,7 @@ static const char *const *doveadm_expire_get_patterns(void) str = doveadm_plugin_getenv(set_name); } array_append_zero(&patterns); - return array_idx(&patterns, 0); + return array_first(&patterns); } static bool diff --git a/src/plugins/expire/expire-plugin.c b/src/plugins/expire/expire-plugin.c index 13bc83f624..39a194961e 100644 --- a/src/plugins/expire/expire-plugin.c +++ b/src/plugins/expire/expire-plugin.c @@ -395,7 +395,7 @@ static const char *const *expire_get_patterns(struct mail_user *user) str = mail_user_set_plugin_getenv(user->set, set_name); } array_append_zero(&patterns); - return array_idx(&patterns, 0); + return array_first(&patterns); } static void expire_mail_user_created(struct mail_user *user) diff --git a/src/plugins/fts-lucene/fts-backend-lucene.c b/src/plugins/fts-lucene/fts-backend-lucene.c index 70dc16d487..3f5733b691 100644 --- a/src/plugins/fts-lucene/fts-backend-lucene.c +++ b/src/plugins/fts-lucene/fts-backend-lucene.c @@ -540,7 +540,7 @@ mailboxes_get_guids(struct mailbox *const boxes[], } array_append_zero(&box_results); - result->box_results = array_idx_modifiable(&box_results, 0); + result->box_results = array_first_modifiable(&box_results); return 0; } diff --git a/src/plugins/fts-solr/fts-backend-solr-old.c b/src/plugins/fts-solr/fts-backend-solr-old.c index ee950ee52d..2521fdf54b 100644 --- a/src/plugins/fts-solr/fts-backend-solr-old.c +++ b/src/plugins/fts-solr/fts-backend-solr-old.c @@ -821,7 +821,7 @@ solr_search_multi(struct solr_fts_backend *backend, string_t *str, fts_result->scores_sorted = TRUE; } array_append_zero(&fts_results); - result->box_results = array_idx_modifiable(&fts_results, 0); + result->box_results = array_first_modifiable(&fts_results); hash_table_destroy(&mailboxes); return 0; } diff --git a/src/plugins/fts-solr/fts-backend-solr.c b/src/plugins/fts-solr/fts-backend-solr.c index ce36b1cbbb..ffeb5ed9fb 100644 --- a/src/plugins/fts-solr/fts-backend-solr.c +++ b/src/plugins/fts-solr/fts-backend-solr.c @@ -927,7 +927,7 @@ solr_search_multi(struct fts_backend *_backend, string_t *str, fts_result->scores_sorted = TRUE; } array_append_zero(&fts_results); - result->box_results = array_idx_modifiable(&fts_results, 0); + result->box_results = array_first_modifiable(&fts_results); hash_table_destroy(&mailboxes); return 0; } diff --git a/src/plugins/fts-squat/squat-uidlist.c b/src/plugins/fts-squat/squat-uidlist.c index b8f8b87289..16eb04320d 100644 --- a/src/plugins/fts-squat/squat-uidlist.c +++ b/src/plugins/fts-squat/squat-uidlist.c @@ -766,12 +766,12 @@ uidlist_write_block_list_and_header(struct squat_uidlist_build_context *ctx, /* write end indexes */ o_stream_nsend(output, uidlist->cur_block_end_indexes, old_block_count * sizeof(uint32_t)); - o_stream_nsend(output, array_idx(block_end_indexes, 0), + o_stream_nsend(output, array_first(block_end_indexes), new_block_count * sizeof(uint32_t)); /* write offsets */ o_stream_nsend(output, uidlist->cur_block_offsets, old_block_count * sizeof(uint32_t)); - o_stream_nsend(output, array_idx(block_offsets, 0), + o_stream_nsend(output, array_first(block_offsets), new_block_count * sizeof(uint32_t)); (void)o_stream_flush(output); @@ -977,7 +977,7 @@ uint32_t squat_uidlist_rebuild_next(struct squat_uidlist_rebuild_context *ctx, int ret; T_BEGIN { - ret = uidlist_write_array(ctx->output, array_idx(uids, 0), + ret = uidlist_write_array(ctx->output, array_first(uids), array_count(uids), 0, 0, FALSE, &ctx->list_sizes[ctx->list_idx]); } T_END; diff --git a/src/plugins/fts/fts-search.c b/src/plugins/fts/fts-search.c index d3e388528f..91d3ca7ed1 100644 --- a/src/plugins/fts/fts-search.c +++ b/src/plugins/fts/fts-search.c @@ -189,7 +189,7 @@ static int fts_search_lookup_level_multi(struct fts_search_context *fctx, mail_search_args_reset(args, TRUE); if (fts_backend_lookup_multi(backend, - array_idx(&tmp_mailboxes, 0), + array_first(&tmp_mailboxes), args, flags, &result) < 0) return -1; diff --git a/src/plugins/fts/fts-storage.c b/src/plugins/fts/fts-storage.c index a3fbb9eb64..4bd11aed71 100644 --- a/src/plugins/fts/fts-storage.c +++ b/src/plugins/fts/fts-storage.c @@ -807,7 +807,7 @@ static const char *const *fts_exclude_get_patterns(struct mail_user *user) str = mail_user_plugin_getenv(user, set_name); } array_append_zero(&patterns); - return array_idx(&patterns, 0); + return array_first(&patterns); } static bool fts_autoindex_exclude_match(struct mailbox *box) diff --git a/src/plugins/fts/fts-user.c b/src/plugins/fts/fts-user.c index eafc1a4a93..091e119afc 100644 --- a/src/plugins/fts/fts-user.c +++ b/src/plugins/fts/fts-user.c @@ -46,7 +46,7 @@ static const char *const *str_keyvalues_to_array(const char *str) array_append(&arr, &value, 1); } array_append_zero(&arr); - return array_idx(&arr, 0); + return array_first(&arr); } static int diff --git a/src/plugins/imap-acl/imap-acl-plugin.c b/src/plugins/imap-acl/imap-acl-plugin.c index ecd388485b..41e78e0e1d 100644 --- a/src/plugins/imap-acl/imap-acl-plugin.c +++ b/src/plugins/imap-acl/imap-acl-plugin.c @@ -424,7 +424,7 @@ imap_acl_letters_parse(const char *letters, const char *const **rights_r, } } array_append_zero(&rights); - *rights_r = array_idx(&rights, 0); + *rights_r = array_first(&rights); return 0; } @@ -526,7 +526,7 @@ static void imap_acl_update_ensure_keep_admins(struct acl_backend *backend, return; } array_append_zero(&new_rights); - update->rights.rights = array_idx(&new_rights, 0); + update->rights.rights = array_first(&new_rights); } static int diff --git a/src/plugins/virtual/virtual-save.c b/src/plugins/virtual/virtual-save.c index 6851319b81..9d3f124094 100644 --- a/src/plugins/virtual/virtual-save.c +++ b/src/plugins/virtual/virtual-save.c @@ -72,7 +72,7 @@ virtual_copy_keywords(struct mailbox *src_box, } array_append_zero(&kw_strings); return mailbox_keywords_create_valid(dest_box, - array_idx(&kw_strings, 0)); + array_first(&kw_strings)); } int virtual_save_begin(struct mail_save_context *_ctx, struct istream *input) diff --git a/src/plugins/virtual/virtual-sync.c b/src/plugins/virtual/virtual-sync.c index a2792f4968..332cd945ea 100644 --- a/src/plugins/virtual/virtual-sync.c +++ b/src/plugins/virtual/virtual-sync.c @@ -447,7 +447,7 @@ static int virtual_sync_index_changes(struct virtual_sync_context *ctx) keywords = mail_index_get_keywords(ctx->index); ctx->kw_all = array_count(keywords) == 0 ? NULL : - array_idx(keywords, 0); + array_first(keywords); while (mail_index_sync_next(ctx->index_sync_ctx, &sync_rec)) { if (virtual_sync_index_rec(ctx, &sync_rec) < 0) return -1; diff --git a/src/util/script.c b/src/util/script.c index 57c372f09b..56ae49371b 100644 --- a/src/util/script.c +++ b/src/util/script.c @@ -187,7 +187,7 @@ static bool client_exec_script(struct master_service_connection *conn) if (noreply) { /* no need to fork and check exit status */ - exec_child(conn, args, array_idx(&envs, 0)); + exec_child(conn, args, array_first(&envs)); i_unreached(); } @@ -198,7 +198,7 @@ static bool client_exec_script(struct master_service_connection *conn) if (pid == 0) { /* child */ - exec_child(conn, args, array_idx(&envs, 0)); + exec_child(conn, args, array_first(&envs)); i_unreached(); } @@ -267,7 +267,7 @@ int main(int argc, char *argv[]) argv += optind; array_append_zero(&aenvs); - accepted_envs = p_strarray_dup(default_pool, array_idx(&aenvs, 0)); + accepted_envs = p_strarray_dup(default_pool, array_first(&aenvs)); master_service_init_log(master_service, "script: "); if (argv[0] == NULL)