mirror of git://git.musl-libc.org/musl
implement fexecve
This commit is contained in:
parent
015d33c507
commit
f2374ed852
|
@ -86,6 +86,7 @@ int execle(const char *, ...);
|
||||||
int execl(const char *, ...);
|
int execl(const char *, ...);
|
||||||
int execvp(const char *, char *const []);
|
int execvp(const char *, char *const []);
|
||||||
int execlp(const char *, ...);
|
int execlp(const char *, ...);
|
||||||
|
int fexecve(int, char *const [], char *const []);
|
||||||
void _exit(int);
|
void _exit(int);
|
||||||
|
|
||||||
pid_t getpid(void);
|
pid_t getpid(void);
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int fexecve(int fd, char *const argv[], char *const envp[])
|
||||||
|
{
|
||||||
|
static const char proc[] = "/proc/self/fd/%d";
|
||||||
|
char buf[sizeof proc + 3*sizeof(int)];
|
||||||
|
snprintf(buf, sizeof buf, proc, fd);
|
||||||
|
return execve(buf, argv, envp);
|
||||||
|
}
|
Loading…
Reference in New Issue