diff options
Diffstat (limited to 'winsup/cygwin/exec.cc')
-rw-r--r-- | winsup/cygwin/exec.cc | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/winsup/cygwin/exec.cc b/winsup/cygwin/exec.cc index 228aa69b0..21b18cfcf 100644 --- a/winsup/cygwin/exec.cc +++ b/winsup/cygwin/exec.cc @@ -25,8 +25,7 @@ details. */ /* This is called _execve and not execve because the real execve is defined in libc/posix/execve.c. It calls us. */ -extern "C" -int +extern "C" int _execve (const char *path, char *const argv[], char *const envp[]) { static char *const empty_env[] = { 0 }; @@ -36,8 +35,7 @@ _execve (const char *path, char *const argv[], char *const envp[]) return _spawnve (NULL, _P_OVERLAY, path, argv, envp); } -extern "C" -int +extern "C" int execl (const char *path, const char *arg0, ...) { int i; @@ -55,8 +53,7 @@ execl (const char *path, const char *arg0, ...) return _execve (path, (char * const *) argv, cur_environ ()); } -extern "C" -int +extern "C" int execv (const char *path, char * const *argv) { MALLOC_CHECK; @@ -65,8 +62,7 @@ execv (const char *path, char * const *argv) /* the same as a standard exec() calls family, but with NT security support */ -extern "C" -pid_t +extern "C" pid_t sexecve (HANDLE hToken, const char *path, const char *const argv[], const char *const envp[]) { @@ -74,8 +70,7 @@ sexecve (HANDLE hToken, const char *path, const char *const argv[], return -1; } -extern "C" -int +extern "C" int sexecl (HANDLE hToken, const char *path, const char *arg0, ...) { int i; @@ -96,8 +91,7 @@ sexecl (HANDLE hToken, const char *path, const char *arg0, ...) return sexecve (hToken, path, (char * const *) argv, cur_environ ()); } -extern "C" -int +extern "C" int sexecle (HANDLE hToken, const char *path, const char *arg0, ...) { int i; @@ -120,8 +114,7 @@ sexecle (HANDLE hToken, const char *path, const char *arg0, ...) return sexecve(hToken, path, (char * const *) argv, (char * const *) envp); } -extern "C" -int +extern "C" int sexeclp (HANDLE hToken, const char *path, const char *arg0, ...) { int i; @@ -142,8 +135,7 @@ sexeclp (HANDLE hToken, const char *path, const char *arg0, ...) return sexecvpe (hToken, path, (const char * const *) argv, cur_environ ()); } -extern "C" -int +extern "C" int sexeclpe (HANDLE hToken, const char *path, const char *arg0, ...) { int i; @@ -166,16 +158,14 @@ sexeclpe (HANDLE hToken, const char *path, const char *arg0, ...) return sexecvpe (hToken, path, argv, envp); } -extern "C" -int +extern "C" int sexecv (HANDLE hToken, const char *path, const char * const *argv) { MALLOC_CHECK; return sexecve (hToken, path, argv, cur_environ ()); } -extern "C" -int +extern "C" int sexecp (HANDLE hToken, const char *path, const char * const *argv) { MALLOC_CHECK; @@ -199,8 +189,7 @@ strccpy (char *s1, const char **s2, char c) return s1; } -extern "C" -int +extern "C" int sexecvpe (HANDLE hToken, const char *file, const char * const *argv, const char *const *envp) { @@ -208,3 +197,17 @@ sexecvpe (HANDLE hToken, const char *file, const char * const *argv, MALLOC_CHECK; return sexecve (hToken, find_exec (file, buf), argv, envp); } + +extern "C" int +execvp (const char *path, char * const *argv) +{ + path_conv buf; + return execv (find_exec (path, buf), argv); +} + +extern "C" int +execvpe (const char *path, char * const *argv, char *const *envp) +{ + path_conv buf; + return execve (find_exec (path, buf), argv, envp); +} |