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/execlp.c | |
parent | 33e58d3c9e1282b210313c8ee46daeb74edb99e8 (diff) |
Redo the exec functions to comply with SUSv3.
Diffstat (limited to 'libc/unistd/execlp.c')
-rw-r--r-- | libc/unistd/execlp.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/libc/unistd/execlp.c b/libc/unistd/execlp.c deleted file mode 100644 index 923a2e22a..000000000 --- a/libc/unistd/execlp.c +++ /dev/null @@ -1,48 +0,0 @@ - -#include <stdlib.h> -#include <unistd.h> -#include <stdarg.h> - -extern int execvep(const char *path, char *__const argv[], char *__const envp[]); - -int execlp(__const char *file, __const char *arg, ...) -{ - const char *shortargv[16]; - const char **argv; - const char *c; - int i; - va_list args; - - i = 1; - - va_start(args, arg); - - do { - c = va_arg(args, const char *); - - i++; - } while (c); - - va_end(args); - - if (i <= 16) - argv = shortargv; - else { - argv = (const char **) alloca(sizeof(char *) * i); - } - - argv[0] = arg; - i = 1; - - va_start(args, arg); - - do { - argv[i] = va_arg(args, const char *); - } while (argv[i++]); - - va_end(args); - - i = execvep(file, (char *const *) argv, __environ); - - return i; -} |