From: René Scharfe Date: Sun, 8 Jan 2023 10:10:59 +0000 (+0100) Subject: mingw: make argv2 in try_shell_exec() non-const X-Git-Tag: v2.40.0-rc0~81^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09884f352eb36cf2579d819595e9b7e1656a28b6;p=thirdparty%2Fgit.git mingw: make argv2 in try_shell_exec() non-const Prepare for a stricter type check in COPY_ARRAY by removing the const qualifier of argv2, like we already do to placate Visual Studio. We have to add it back using explicit casts when actually using the variable, unfortunately, because GCC (rightly) refuses to add it implicitly. Similar casts are already used in mingw_execv(). Signed-off-by: René Scharfe Signed-off-by: Junio C Hamano --- diff --git a/compat/mingw.c b/compat/mingw.c index d614f156df..e131eb9b07 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1839,16 +1839,13 @@ static int try_shell_exec(const char *cmd, char *const *argv) if (prog) { int exec_id; int argc = 0; -#ifndef _MSC_VER - const -#endif char **argv2; while (argv[argc]) argc++; ALLOC_ARRAY(argv2, argc + 1); argv2[0] = (char *)cmd; /* full path to the script file */ COPY_ARRAY(&argv2[1], &argv[1], argc); - exec_id = trace2_exec(prog, argv2); - pid = mingw_spawnv(prog, argv2, 1); + exec_id = trace2_exec(prog, (const char **)argv2); + pid = mingw_spawnv(prog, (const char **)argv2, 1); if (pid >= 0) { int status; if (waitpid(pid, &status, 0) < 0)