diff options
author | Manuel Novoa III <mjn3@codepoet.org> | 2004-01-02 08:44:58 +0000 |
---|---|---|
committer | Manuel Novoa III <mjn3@codepoet.org> | 2004-01-02 08:44:58 +0000 |
commit | 400e6fc264cbe6ca3ca572d94bbf5f929f256713 (patch) | |
tree | 7c7cd0d0dc3e59fe1ab7e369e73c1d521797c47b /libc/unistd/execvep.c | |
parent | 33e58d3c9e1282b210313c8ee46daeb74edb99e8 (diff) |
Redo the exec functions to comply with SUSv3.
Diffstat (limited to 'libc/unistd/execvep.c')
-rw-r--r-- | libc/unistd/execvep.c | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/libc/unistd/execvep.c b/libc/unistd/execvep.c deleted file mode 100644 index 6cd8cbaf9..000000000 --- a/libc/unistd/execvep.c +++ /dev/null @@ -1,46 +0,0 @@ -#include <unistd.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> - -int execvep(const char *path, char *__const argv[], char *__const envp[]) -{ - if (!strchr(path, '/')) { - char *p = getenv("PATH"); - - if (!p) - p = "/bin:/usr/bin"; - - for (; p && *p;) { - char partial[FILENAME_MAX]; - char *p2; - - p2 = strchr(p, ':'); - if (p2) { - size_t len = p2 - p; - strncpy(partial, p, len); - partial[len] = 0; - } else { - strcpy(partial, p); - } - - if (strlen(partial)) - strcat(partial, "/"); - strcat(partial, path); - - execve(partial, argv, envp); - - if (errno != ENOENT) - return -1; - - if (p2) { - p = p2 + 1; - } else { - p = 0; - } - } - return -1; - } else - return execve(path, argv, envp); -} |