]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mingw: make argv2 in try_shell_exec() non-const
authorRené Scharfe <l.s.r@web.de>
Sun, 8 Jan 2023 10:10:59 +0000 (11:10 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 9 Jan 2023 04:28:21 +0000 (13:28 +0900)
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 <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/mingw.c

index d614f156df1db31248e3a1de51273ffefdd671ff..e131eb9b07a0d745f1475089ae15a314c53c9d5e 100644 (file)
@@ -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)