diff options
Diffstat (limited to 'usr/src/lib/libast/common/comp/execvpe.c')
-rw-r--r-- | usr/src/lib/libast/common/comp/execvpe.c | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/usr/src/lib/libast/common/comp/execvpe.c b/usr/src/lib/libast/common/comp/execvpe.c deleted file mode 100644 index 9aee9cb9b9..0000000000 --- a/usr/src/lib/libast/common/comp/execvpe.c +++ /dev/null @@ -1,78 +0,0 @@ -/*********************************************************************** -* * -* This software is part of the ast package * -* Copyright (c) 1985-2010 AT&T Intellectual Property * -* and is licensed under the * -* Common Public License, Version 1.0 * -* by AT&T Intellectual Property * -* * -* A copy of the License is available at * -* http://www.opensource.org/licenses/cpl1.0.txt * -* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * -* * -* Information and Software Systems Research * -* AT&T Research * -* Florham Park NJ * -* * -* Glenn Fowler <gsf@research.att.com> * -* David Korn <dgk@research.att.com> * -* Phong Vo <kpv@research.att.com> * -* * -***********************************************************************/ -#pragma prototyped - -#include <ast_lib.h> - -#if _lib_execvpe - -#include <ast.h> - -NoN(execvpe) - -#else - -#if defined(__EXPORT__) -__EXPORT__ int execvpe(const char*, char* const[], char* const[]); -#endif - -#include <ast.h> -#include <errno.h> - -#if defined(__EXPORT__) -#define extern __EXPORT__ -#endif - -extern int -execvpe(const char* name, char* const argv[], char* const envv[]) -{ - register const char* path = name; - char buffer[PATH_MAX]; - - if (*path != '/' && !(path = pathpath(buffer, name, NULL, PATH_REGULAR|PATH_EXECUTE))) - path = name; - execve(path, argv, envv); - if (errno == ENOEXEC) - { - register char** newargv; - register char** ov; - register char** nv; - - for (ov = (char**)argv; *ov++;); - if (newargv = newof(0, char*, ov + 1 - (char**)argv, 0)) - { - nv = newargv; - *nv++ = "sh"; - *nv++ = (char*)path; - ov = (char**)argv; - while (*nv++ = *++ov); - path = pathshell(); - execve(path, newargv, envv); - free(newargv); - } - else - errno = ENOMEM; - } - return -1; -} - -#endif |