diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2024-07-13 21:08:18 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-07-13 16:23:36 -0700 |
| commit | 0593c1ea30737cf2d61f7c191d3687b37badf3be (patch) | |
| tree | 7e85bb4dcf5e2771ceb750d16c4631f37aea2de1 | |
| parent | a7dae3bdc8b516d36f630b12bb01e853a667e0d9 (diff) | |
| download | git-0593c1ea30737cf2d61f7c191d3687b37badf3be.tar.gz | |
run-command: refactor getting the Unix shell path into its own function
This encapsulates the platform-specific logic better.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | run-command.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/run-command.c b/run-command.c index d9f80fabe6..59e433bf91 100644 --- a/run-command.c +++ b/run-command.c @@ -274,17 +274,22 @@ int sane_execvp(const char *file, char * const argv[]) return -1; } +static const char *git_shell_path(void) +{ +#ifndef GIT_WINDOWS_NATIVE + return SHELL_PATH; +#else + return "sh"; +#endif +} + static const char **prepare_shell_cmd(struct strvec *out, const char **argv) { if (!argv[0]) BUG("shell command is empty"); if (strcspn(argv[0], "|&;<>()$`\\\"' \t\n*?[#~=%") != strlen(argv[0])) { -#ifndef GIT_WINDOWS_NATIVE - strvec_push(out, SHELL_PATH); -#else - strvec_push(out, "sh"); -#endif + strvec_push(out, git_shell_path()); strvec_push(out, "-c"); /* |
