diff options
Diffstat (limited to 'exec-cmd.c')
-rw-r--r-- | exec-cmd.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/exec-cmd.c b/exec-cmd.c index 1d597e84ea..507e67d528 100644 --- a/exec-cmd.c +++ b/exec-cmd.c @@ -4,7 +4,6 @@ #include "exec-cmd.h" #include "gettext.h" #include "path.h" -#include "quote.h" #include "run-command.h" #include "strvec.h" #include "trace.h" @@ -151,6 +150,25 @@ static int git_get_exec_path_darwin(struct strbuf *buf) } #endif /* HAVE_NS_GET_EXECUTABLE_PATH */ +#ifdef HAVE_ZOS_GET_EXECUTABLE_PATH +/* + * Resolves the executable path from current program's directory and name. + * + * Returns 0 on success, -1 on failure. + */ +static int git_get_exec_path_zos(struct strbuf *buf) +{ + char *dir = __getprogramdir(); + char *exe = getprogname(); + if (dir && exe) { + strbuf_addf(buf, "%s/%s", dir, exe); + return 0; + } + return -1; +} + +#endif /* HAVE_ZOS_GET_EXECUTABLE_PATH */ + #ifdef HAVE_WPGMPTR /* * Resolves the executable path by using the global variable _wpgmptr. @@ -207,6 +225,10 @@ static int git_get_exec_path(struct strbuf *buf, const char *argv0) git_get_exec_path_wpgmptr(buf) && #endif /* HAVE_WPGMPTR */ +#ifdef HAVE_ZOS_GET_EXECUTABLE_PATH + git_get_exec_path_zos(buf) && +#endif /*HAVE_ZOS_GET_EXECUTABLE_PATH */ + git_get_exec_path_from_argv0(buf, argv0)) { return -1; } |