changeset 27028:c9474ae175f4 v8.2.4043

patch 8.2.4043: using int for second argument of ga_init2() Commit: https://github.com/vim/vim/commit/04935fb17e5f0f66b82cf4546b9752d3d1fa650e Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 8 16:19:22 2022 +0000 patch 8.2.4043: using int for second argument of ga_init2() Problem: Using int for second argument of ga_init2(). Solution: Remove unnessary type cast (int) when using sizeof().
author Bram Moolenaar <Bram@vim.org>
date Sat, 08 Jan 2022 17:30:04 +0100
parents 167e35b85720
children 07308e9dd7dc
files src/arglist.c src/channel.c src/cmdexpand.c src/dict.c src/digraph.c src/eval.c src/evalfunc.c src/evalvars.c src/evalwindow.c src/ex_docmd.c src/fileio.c src/filepath.c src/findfile.c src/fold.c src/hardcopy.c src/help.c src/if_py_both.h src/job.c src/list.c src/menu.c src/os_win32.c src/register.c src/scriptfile.c src/spellfile.c src/spellsuggest.c src/strings.c src/syntax.c src/tag.c src/terminal.c src/undo.c src/usercmd.c src/userfunc.c src/version.c src/vim9execute.c src/viminfo.c src/window.c
diffstat 36 files changed, 69 insertions(+), 67 deletions(-) [+]
line wrap: on
line diff
--- a/src/arglist.c
+++ b/src/arglist.c
@@ -51,7 +51,7 @@ alist_clear(alist_T *al)
     void
 alist_init(alist_T *al)
 {
-    ga_init2(&al->al_ga, (int)sizeof(aentry_T), 5);
+    ga_init2(&al->al_ga, sizeof(aentry_T), 5);
 }
 
 /*
@@ -275,7 +275,7 @@ do_one_arg(char_u *str)
     static int
 get_arglist(garray_T *gap, char_u *str, int escaped)
 {
-    ga_init2(gap, (int)sizeof(char_u *), 20);
+    ga_init2(gap, sizeof(char_u *), 20);
     while (*str != NUL)
     {
 	if (ga_grow(gap, 1) == FAIL)
--- a/src/channel.c
+++ b/src/channel.c
@@ -2306,7 +2306,7 @@ channel_add_block_id(chanpart_T *chanpar
     garray_T *gap = &chanpart->ch_block_ids;
 
     if (gap->ga_growsize == 0)
-	ga_init2(gap, (int)sizeof(int), 10);
+	ga_init2(gap, sizeof(int), 10);
     if (ga_grow(gap, 1) == OK)
     {
 	((int *)gap->ga_data)[gap->ga_len] = id;
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -2342,7 +2342,7 @@ expand_shellcmd(
     // Go over all directories in $PATH.  Expand matches in that directory and
     // collect them in "ga".  When "." is not in $PATH also expand for the
     // current directory, to find "subdir/cmd".
-    ga_init2(&ga, (int)sizeof(char *), 10);
+    ga_init2(&ga, sizeof(char *), 10);
     hash_init(&found_ht);
     for (s = path; ; s = e)
     {
@@ -2497,7 +2497,7 @@ ExpandUserDefined(
     if (retstr == NULL)
 	return FAIL;
 
-    ga_init2(&ga, (int)sizeof(char *), 3);
+    ga_init2(&ga, sizeof(char *), 3);
     for (s = retstr; *s != NUL; s = e)
     {
 	e = vim_strchr(s, '\n');
@@ -2543,7 +2543,7 @@ ExpandUserList(
     if (retlist == NULL)
 	return FAIL;
 
-    ga_init2(&ga, (int)sizeof(char *), 3);
+    ga_init2(&ga, sizeof(char *), 3);
     // Loop over the items in the list.
     FOR_ALL_LIST_ITEMS(retlist, li)
     {
--- a/src/dict.c
+++ b/src/dict.c
@@ -759,7 +759,7 @@ dict2string(typval_T *tv, int copyID, in
 
     if ((d = tv->vval.v_dict) == NULL)
 	return NULL;
-    ga_init2(&ga, (int)sizeof(char), 80);
+    ga_init2(&ga, sizeof(char), 80);
     ga_append(&ga, '{');
 
     todo = (int)d->dv_hashtab.ht_used;
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2632,7 +2632,7 @@ ex_loadkeymap(exarg_T *eap)
     keymap_unload();
 
     curbuf->b_kmap_state = 0;
-    ga_init2(&curbuf->b_kmap_ga, (int)sizeof(kmap_T), 20);
+    ga_init2(&curbuf->b_kmap_ga, sizeof(kmap_T), 20);
 
     // Set 'cpoptions' to "C" to avoid line continuation.
     p_cpo = (char_u *)"C";
--- a/src/eval.c
+++ b/src/eval.c
@@ -487,7 +487,7 @@ typval2string(typval_T *tv, int convert)
 
     if (convert && tv->v_type == VAR_LIST)
     {
-	ga_init2(&ga, (int)sizeof(char), 80);
+	ga_init2(&ga, sizeof(char), 80);
 	if (tv->vval.v_list != NULL)
 	{
 	    list_join(&ga, tv->vval.v_list, (char_u *)"\n", TRUE, FALSE, 0);
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3662,7 +3662,7 @@ execute_common(typval_T *argvars, typval
 
     if (redir_execute)
 	save_ga = redir_execute_ga;
-    ga_init2(&redir_execute_ga, (int)sizeof(char), 500);
+    ga_init2(&redir_execute_ga, sizeof(char), 500);
     redir_execute = TRUE;
     redir_off = FALSE;
     if (!echo_output)
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -4025,7 +4025,7 @@ clear_redir_lval(void)
     void
 init_redir_ga(void)
 {
-    ga_init2(&redir_ga, (int)sizeof(char), 500);
+    ga_init2(&redir_ga, sizeof(char), 500);
 }
 
 /*
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -1120,7 +1120,7 @@ f_winrestcmd(typval_T *argvars UNUSED, t
     garray_T	ga;
     char_u	buf[50];
 
-    ga_init2(&ga, (int)sizeof(char), 70);
+    ga_init2(&ga, sizeof(char), 70);
 
     // Do this twice to handle some window layouts properly.
     for (i = 0; i < 2; ++i)
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -691,7 +691,7 @@ do_cmdline(
 #ifdef FEAT_EVAL
     CLEAR_FIELD(cstack);
     cstack.cs_idx = -1;
-    ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
+    ga_init2(&lines_ga, sizeof(wcmd_T), 10);
 
     real_cookie = getline_cookie(fgetline, cookie);
 
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4774,7 +4774,7 @@ readdir_core(
     struct dirent	*dp;
 # endif
 
-    ga_init2(gap, (int)sizeof(void *), 20);
+    ga_init2(gap, sizeof(void *), 20);
 
 # ifdef FEAT_EVAL
 #  define FREE_ITEM(item)   do { \
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -1388,7 +1388,7 @@ f_globpath(typval_T *argvars, typval_T *
     }
     if (file != NULL && !error)
     {
-	ga_init2(&ga, (int)sizeof(char_u *), 10);
+	ga_init2(&ga, sizeof(char_u *), 10);
 	globpath(tv_get_string(&argvars[0]), file, &ga, flags);
 	if (rettv->v_type == VAR_STRING)
 	    rettv->vval.v_string = ga_concat_strings(&ga, "\n");
@@ -3908,7 +3908,7 @@ gen_expand_wildcards(
     /*
      * The matching file names are stored in a growarray.  Init it empty.
      */
-    ga_init2(&ga, (int)sizeof(char_u *), 30);
+    ga_init2(&ga, sizeof(char_u *), 30);
 
     for (i = 0; i < num_pat; ++i)
     {
--- a/src/findfile.c
+++ b/src/findfile.c
@@ -2430,7 +2430,7 @@ uniquefy_paths(garray_T *gap, char_u *pa
     char_u	*short_name;
 
     remove_duplicates(gap);
-    ga_init2(&path_ga, (int)sizeof(char_u *), 1);
+    ga_init2(&path_ga, sizeof(char_u *), 1);
 
     /*
      * We need to prepend a '*' at the beginning of file_pattern so that the
@@ -2611,7 +2611,7 @@ expand_in_path(
 	return 0;
     mch_dirname(curdir, MAXPATHL);
 
-    ga_init2(&path_ga, (int)sizeof(char_u *), 1);
+    ga_init2(&path_ga, sizeof(char_u *), 1);
     expand_path_option(curdir, &path_ga);
     vim_free(curdir);
     if (path_ga.ga_len == 0)
--- a/src/fold.c
+++ b/src/fold.c
@@ -647,7 +647,7 @@ foldCreate(linenr_T start, linenr_T end)
     if (ga_grow(gap, 1) == OK)
     {
 	fp = (fold_T *)gap->ga_data + i;
-	ga_init2(&fold_ga, (int)sizeof(fold_T), 10);
+	ga_init2(&fold_ga, sizeof(fold_T), 10);
 
 	// Count number of folds that will be contained in the new fold.
 	for (cont = 0; i + cont < gap->ga_len; ++cont)
@@ -1018,7 +1018,7 @@ foldMoveTo(
     void
 foldInitWin(win_T *new_win)
 {
-    ga_init2(&new_win->w_folds, (int)sizeof(fold_T), 10);
+    ga_init2(&new_win->w_folds, sizeof(fold_T), 10);
 }
 
 // find_wl_entry() {{{2
@@ -2868,7 +2868,7 @@ foldInsert(garray_T *gap, int i)
     if (gap->ga_len > 0 && i < gap->ga_len)
 	mch_memmove(fp + 1, fp, sizeof(fold_T) * (gap->ga_len - i));
     ++gap->ga_len;
-    ga_init2(&fp->fd_nested, (int)sizeof(fold_T), 10);
+    ga_init2(&fp->fd_nested, sizeof(fold_T), 10);
     return OK;
 }
 
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -1650,7 +1650,7 @@ prt_flush_buffer(void)
 	    prt_write_string("s\n");
 
 	ga_clear(&prt_ps_buffer);
-	ga_init2(&prt_ps_buffer, (int)sizeof(char), prt_bufsiz);
+	ga_init2(&prt_ps_buffer, sizeof(char), prt_bufsiz);
     }
 }
 
@@ -2649,7 +2649,7 @@ mch_print_init(
     prt_bufsiz = psettings->chars_per_line;
     if (prt_out_mbyte)
 	prt_bufsiz *= 2;
-    ga_init2(&prt_ps_buffer, (int)sizeof(char), prt_bufsiz);
+    ga_init2(&prt_ps_buffer, sizeof(char), prt_bufsiz);
 
     prt_page_num = 0;
 
--- a/src/help.c
+++ b/src/help.c
@@ -999,7 +999,7 @@ helptags_one(
 
     // If using the "++t" argument or generating tags for "$VIMRUNTIME/doc"
     // add the "help-tags" tag.
-    ga_init2(&ga, (int)sizeof(char_u *), 100);
+    ga_init2(&ga, sizeof(char_u *), 100);
     if (add_help_tags || fullpathcmp((char_u *)"$VIMRUNTIME/doc",
 						dir, FALSE, TRUE) == FPC_SAME)
     {
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -3264,7 +3264,7 @@ FunctionRepr(FunctionObject *self)
     typval_T tv;
     char_u numbuf[NUMBUFLEN];
 
-    ga_init2(&repr_ga, (int)sizeof(char), 70);
+    ga_init2(&repr_ga, sizeof(char), 70);
     ga_concat(&repr_ga, (char_u *)"<vim.Function '");
     if (self->name)
 	ga_concat(&repr_ga, self->name);
--- a/src/job.c
+++ b/src/job.c
@@ -1296,7 +1296,7 @@ job_start(
 
     job->jv_status = JOB_FAILED;
 #ifndef USE_ARGV
-    ga_init2(&ga, (int)sizeof(char*), 20);
+    ga_init2(&ga, sizeof(char*), 20);
 #endif
 
     if (opt_arg != NULL)
@@ -1435,7 +1435,7 @@ job_start(
     {
 	garray_T    ga;
 
-	ga_init2(&ga, (int)sizeof(char), 200);
+	ga_init2(&ga, sizeof(char), 200);
 	for (i = 0; i < argc; ++i)
 	{
 	    if (i > 0)
--- a/src/list.c
+++ b/src/list.c
@@ -1299,7 +1299,7 @@ list2string(typval_T *tv, int copyID, in
 
     if (tv->vval.v_list == NULL)
 	return NULL;
-    ga_init2(&ga, (int)sizeof(char), 80);
+    ga_init2(&ga, sizeof(char), 80);
     ga_append(&ga, '[');
     CHECK_LIST_MATERIALIZE(tv->vval.v_list);
     if (list_join(&ga, tv->vval.v_list, (char_u *)", ",
@@ -1412,7 +1412,7 @@ list_join(
 
     if (l->lv_len < 1)
 	return OK; // nothing to do
-    ga_init2(&join_ga, (int)sizeof(join_T), l->lv_len);
+    ga_init2(&join_ga, sizeof(join_T), l->lv_len);
     retval = list_join_inner(gap, l, sep, echo_style, restore_copyID,
 							    copyID, &join_ga);
 
@@ -1461,7 +1461,7 @@ f_join(typval_T *argvars, typval_T *rett
 
     if (sep != NULL)
     {
-	ga_init2(&ga, (int)sizeof(char), 80);
+	ga_init2(&ga, sizeof(char), 80);
 	list_join(&ga, argvars[0].vval.v_list, sep, TRUE, FALSE, 0);
 	ga_append(&ga, NUL);
 	rettv->vval.v_string = (char_u *)ga.ga_data;
--- a/src/menu.c
+++ b/src/menu.c
@@ -2664,7 +2664,7 @@ ex_menutranslate(exarg_T *eap UNUSED)
     char_u		*from, *from_noamp, *to;
 
     if (menutrans_ga.ga_itemsize == 0)
-	ga_init2(&menutrans_ga, (int)sizeof(menutrans_T), 5);
+	ga_init2(&menutrans_ga, sizeof(menutrans_T), 5);
 
     /*
      * ":menutrans clear": clear all translations.
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -5280,7 +5280,7 @@ mch_job_start(char *cmd, job_T *job, job
     ofd[1] = INVALID_HANDLE_VALUE;
     efd[0] = INVALID_HANDLE_VALUE;
     efd[1] = INVALID_HANDLE_VALUE;
-    ga_init2(&ga, (int)sizeof(wchar_t), 500);
+    ga_init2(&ga, sizeof(wchar_t), 500);
 
     jo = CreateJobObject(NULL, NULL);
     if (jo == NULL)
--- a/src/register.c
+++ b/src/register.c
@@ -527,7 +527,7 @@ execreg_line_continuation(char_u **lines
     int		j;
     char_u	*str;
 
-    ga_init2(&ga, (int)sizeof(char_u), 400);
+    ga_init2(&ga, sizeof(char_u), 400);
 
     // search backwards to find the first line of this command.
     // Any line not starting with \ or "\ is the start of the
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -835,7 +835,7 @@ ExpandRTDir(
     *num_file = 0;
     *file = NULL;
     pat_len = (int)STRLEN(pat);
-    ga_init2(&ga, (int)sizeof(char *), 10);
+    ga_init2(&ga, sizeof(char *), 10);
 
     for (i = 0; dirnames[i] != NULL; ++i)
     {
@@ -929,7 +929,7 @@ ExpandPackAddDir(
     *num_file = 0;
     *file = NULL;
     pat_len = (int)STRLEN(pat);
-    ga_init2(&ga, (int)sizeof(char *), 10);
+    ga_init2(&ga, sizeof(char *), 10);
 
     s = alloc(pat_len + 26);
     if (s == NULL)
@@ -1833,7 +1833,7 @@ getsourceline(
 	{
 	    garray_T    ga;
 
-	    ga_init2(&ga, (int)sizeof(char_u), 400);
+	    ga_init2(&ga, sizeof(char_u), 400);
 	    ga_concat(&ga, line);
 	    if (*p == '\\')
 		ga_concat(&ga, p + 1);
--- a/src/spellfile.c
+++ b/src/spellfile.c
@@ -5905,12 +5905,12 @@ mkspell(
     spin.si_ascii = ascii;
     spin.si_followup = TRUE;
     spin.si_rem_accents = TRUE;
-    ga_init2(&spin.si_rep, (int)sizeof(fromto_T), 20);
-    ga_init2(&spin.si_repsal, (int)sizeof(fromto_T), 20);
-    ga_init2(&spin.si_sal, (int)sizeof(fromto_T), 20);
-    ga_init2(&spin.si_map, (int)sizeof(char_u), 100);
-    ga_init2(&spin.si_comppat, (int)sizeof(char_u *), 20);
-    ga_init2(&spin.si_prefcond, (int)sizeof(char_u *), 50);
+    ga_init2(&spin.si_rep, sizeof(fromto_T), 20);
+    ga_init2(&spin.si_repsal, sizeof(fromto_T), 20);
+    ga_init2(&spin.si_sal, sizeof(fromto_T), 20);
+    ga_init2(&spin.si_map, sizeof(char_u), 100);
+    ga_init2(&spin.si_comppat, sizeof(char_u *), 20);
+    ga_init2(&spin.si_prefcond, sizeof(char_u *), 50);
     hash_init(&spin.si_commonwords);
     spin.si_newcompID = 127;	// start compound ID at first maximum
 
--- a/src/spellsuggest.c
+++ b/src/spellsuggest.c
@@ -774,8 +774,8 @@ spell_find_suggest(
 
     // Set the info in "*su".
     CLEAR_POINTER(su);
-    ga_init2(&su->su_ga, (int)sizeof(suggest_T), 10);
-    ga_init2(&su->su_sga, (int)sizeof(suggest_T), 10);
+    ga_init2(&su->su_ga, sizeof(suggest_T), 10);
+    ga_init2(&su->su_sga, sizeof(suggest_T), 10);
     if (*badptr == NUL)
 	return;
     hash_init(&su->su_banned);
@@ -2943,7 +2943,7 @@ score_combine(suginfo_T *su)
     check_suggestions(su, &su->su_sga);
     (void)cleanup_suggestions(&su->su_sga, su->su_maxscore, su->su_maxcount);
 
-    ga_init2(&ga, (int)sizeof(suginfo_T), 1);
+    ga_init2(&ga, sizeof(suginfo_T), 1);
     if (ga_grow(&ga, su->su_ga.ga_len + su->su_sga.ga_len) == FAIL)
 	return;
 
--- a/src/strings.c
+++ b/src/strings.c
@@ -893,7 +893,7 @@ string_filter_map(
     // set_vim_var_nr() doesn't set the type
     set_vim_var_type(VV_KEY, VAR_NUMBER);
 
-    ga_init2(&ga, (int)sizeof(char), 80);
+    ga_init2(&ga, sizeof(char), 80);
     for (p = str; *p != NUL; p += len)
     {
 	typval_T newtv;
@@ -1673,7 +1673,7 @@ f_tr(typval_T *argvars, typval_T *rettv)
     rettv->vval.v_string = NULL;
     if (fromstr == NULL || tostr == NULL)
 	    return;		// type error; errmsg already given
-    ga_init2(&ga, (int)sizeof(char), 80);
+    ga_init2(&ga, sizeof(char), 80);
 
     if (!has_mbyte)
 	// not multi-byte: fromstr and tostr must be the same length
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -1414,7 +1414,7 @@ store_current_state(void)
 	{
 	    // Need to clear it, might be something remaining from when the
 	    // length was less than SST_FIX_STATES.
-	    ga_init2(&sp->sst_union.sst_ga, (int)sizeof(bufstate_T), 1);
+	    ga_init2(&sp->sst_union.sst_ga, sizeof(bufstate_T), 1);
 	    if (ga_grow(&sp->sst_union.sst_ga, current_state.ga_len) == FAIL)
 		sp->sst_stacksize = 0;
 	    else
@@ -1833,7 +1833,7 @@ syn_current_attr(
 
     // Init the list of zero-width matches with a nextlist.  This is used to
     // avoid matching the same item in the same position twice.
-    ga_init2(&zero_width_next_ga, (int)sizeof(int), 10);
+    ga_init2(&zero_width_next_ga, sizeof(int), 10);
 
     // use syntax iskeyword option
     save_chartab(buf_chartab);
--- a/src/tag.c
+++ b/src/tag.c
@@ -1752,7 +1752,7 @@ find_tags(
 #endif
     for (mtt = 0; mtt < MT_COUNT; ++mtt)
     {
-	ga_init2(&ga_match[mtt], (int)sizeof(char_u *), 100);
+	ga_init2(&ga_match[mtt], sizeof(char_u *), 100);
 	hash_init(&ht_match[mtt]);
     }
 
@@ -2952,7 +2952,7 @@ get_tagfname(
 	if (first)
 	{
 	    ga_clear_strings(&tag_fnames);
-	    ga_init2(&tag_fnames, (int)sizeof(char_u *), 10);
+	    ga_init2(&tag_fnames, sizeof(char_u *), 10);
 	    do_in_runtimepath((char_u *)
 #ifdef FEAT_MULTI_LANG
 # ifdef VMS
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -6674,8 +6674,8 @@ conpty_term_and_job_init(
     HANDLE	    i_ours = NULL;
     HANDLE	    o_ours = NULL;
 
-    ga_init2(&ga_cmd, (int)sizeof(char*), 20);
-    ga_init2(&ga_env, (int)sizeof(char*), 20);
+    ga_init2(&ga_cmd, sizeof(char*), 20);
+    ga_init2(&ga_env, sizeof(char*), 20);
 
     if (argvar->v_type == VAR_STRING)
     {
@@ -7022,8 +7022,8 @@ winpty_term_and_job_init(
     garray_T	    ga_cmd, ga_env;
     char_u	    *cmd = NULL;
 
-    ga_init2(&ga_cmd, (int)sizeof(char*), 20);
-    ga_init2(&ga_env, (int)sizeof(char*), 20);
+    ga_init2(&ga_cmd, sizeof(char*), 20);
+    ga_init2(&ga_env, sizeof(char*), 20);
 
     if (argvar->v_type == VAR_STRING)
     {
--- a/src/undo.c
+++ b/src/undo.c
@@ -3081,7 +3081,7 @@ ex_undolist(exarg_T *eap UNUSED)
      */
     mark = ++lastmark;
     nomark = ++lastmark;
-    ga_init2(&ga, (int)sizeof(char *), 20);
+    ga_init2(&ga, sizeof(char *), 20);
 
     uhp = curbuf->b_u_oldhead;
     while (uhp != NULL)
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -917,7 +917,7 @@ uc_add_command(
     {
 	gap = &curbuf->b_ucmds;
 	if (gap->ga_itemsize == 0)
-	    ga_init2(gap, (int)sizeof(ucmd_T), 4);
+	    ga_init2(gap, sizeof(ucmd_T), 4);
     }
     else
 	gap = &ucmds;
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -222,11 +222,11 @@ get_function_args(
     char_u	*whitep = *argp;
 
     if (newargs != NULL)
-	ga_init2(newargs, (int)sizeof(char_u *), 3);
+	ga_init2(newargs, sizeof(char_u *), 3);
     if (argtypes != NULL)
-	ga_init2(argtypes, (int)sizeof(char_u *), 3);
+	ga_init2(argtypes, sizeof(char_u *), 3);
     if (!skip && default_args != NULL)
-	ga_init2(default_args, (int)sizeof(char_u *), 3);
+	ga_init2(default_args, sizeof(char_u *), 3);
 
     if (varargs != NULL)
 	*varargs = FALSE;
@@ -1149,7 +1149,7 @@ lambda_function_body(
 	eap.cookie = evalarg->eval_cookie;
     }
 
-    ga_init2(&newlines, (int)sizeof(char_u *), 10);
+    ga_init2(&newlines, sizeof(char_u *), 10);
     if (get_function_body(&eap, &newlines, NULL,
 					     &evalarg->eval_tofree_ga) == FAIL)
 	goto erret;
@@ -1436,7 +1436,7 @@ get_lambda_tv(
 	if (pt == NULL)
 	    goto errret;
 
-	ga_init2(&newlines, (int)sizeof(char_u *), 1);
+	ga_init2(&newlines, sizeof(char_u *), 1);
 	if (ga_grow(&newlines, 1) == FAIL)
 	    goto errret;
 
@@ -1760,7 +1760,7 @@ get_func_tv(
 	    // Prepare for calling test_garbagecollect_now(), need to know
 	    // what variables are used on the call stack.
 	    if (funcargs.ga_itemsize == 0)
-		ga_init2(&funcargs, (int)sizeof(typval_T *), 50);
+		ga_init2(&funcargs, sizeof(typval_T *), 50);
 	    for (i = 0; i < argcount; ++i)
 		if (ga_grow(&funcargs, 1) == OK)
 		    ((typval_T **)funcargs.ga_data)[funcargs.ga_len++] =
@@ -4173,7 +4173,7 @@ define_function(exarg_T *eap, char_u *na
 	goto ret_free;
     }
 
-    ga_init2(&newlines, (int)sizeof(char_u *), 10);
+    ga_init2(&newlines, sizeof(char_u *), 10);
 
     if (!eap->skip && name_arg == NULL)
     {
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4043,
+/**/
     4042,
 /**/
     4041,
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -174,7 +174,7 @@ static garray_T dict_stack = GA_EMPTY;
 dict_stack_save(typval_T *tv)
 {
     if (dict_stack.ga_growsize == 0)
-	ga_init2(&dict_stack, (int)sizeof(typval_T), 10);
+	ga_init2(&dict_stack, sizeof(typval_T), 10);
     if (ga_grow(&dict_stack, 1) == FAIL)
 	return FAIL;
     ((typval_T *)dict_stack.ga_data)[dict_stack.ga_len] = *tv;
--- a/src/viminfo.c
+++ b/src/viminfo.c
@@ -2912,7 +2912,7 @@ do_viminfo(FILE *fp_in, FILE *fp_out, in
 	return;
     vir.vir_fd = fp_in;
     vir.vir_conv.vc_type = CONV_NONE;
-    ga_init2(&vir.vir_barlines, (int)sizeof(char_u *), 100);
+    ga_init2(&vir.vir_barlines, sizeof(char_u *), 100);
     vir.vir_version = -1;
 
     if (fp_in != NULL)
--- a/src/window.c
+++ b/src/window.c
@@ -5413,7 +5413,7 @@ win_size_save(garray_T *gap)
 {
     win_T	*wp;
 
-    ga_init2(gap, (int)sizeof(int), 1);
+    ga_init2(gap, sizeof(int), 1);
     if (ga_grow(gap, win_count() * 2 + 1) == OK)
     {
 	// first entry is value of 'lines'