X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=run-command.c;h=ca67ee9333e1f4125678fe607f44d75becc3cf7e;hb=1a82e79315ed633f6b0b1fc4076054950c5380d3;hp=8bf5922fc3b30d06ca7336a8df18a12c389c8681;hpb=a9572072f0ab0ac97e64b0dc01254a3ad95befe1;p=git.git diff --git a/run-command.c b/run-command.c index 8bf5922f..ca67ee93 100644 --- a/run-command.c +++ b/run-command.c @@ -1,8 +1,9 @@ #include "cache.h" #include "run-command.h" #include +#include "exec_cmd.h" -int run_command_v_opt(int argc, char **argv, int flags) +int run_command_v_opt(int argc, const char **argv, int flags) { pid_t pid = fork(); @@ -13,9 +14,13 @@ int run_command_v_opt(int argc, char **argv, int flags) int fd = open("/dev/null", O_RDWR); dup2(fd, 0); dup2(fd, 1); - close(fd); + close(fd); + } + if (flags & RUN_GIT_CMD) { + execv_git_cmd(argv); + } else { + execvp(argv[0], (char *const*) argv); } - execvp(argv[0], (char *const*) argv); die("exec %s failed.", argv[0]); } for (;;) { @@ -42,7 +47,7 @@ int run_command_v_opt(int argc, char **argv, int flags) } } -int run_command_v(int argc, char **argv) +int run_command_v(int argc, const char **argv) { return run_command_v_opt(argc, argv, 0); } @@ -50,7 +55,7 @@ int run_command_v(int argc, char **argv) int run_command(const char *cmd, ...) { int argc; - char *argv[MAX_RUN_COMMAND_ARGS]; + const char *argv[MAX_RUN_COMMAND_ARGS]; const char *arg; va_list param;