6507b42949c915e757bfa71935388a0ea4e0a15d
[musl] / fexecve.c
1 #include <unistd.h>
2 #include <errno.h>
3
4 void __procfdname(char *, unsigned);
5
6 int fexecve(int fd, char *const argv[], char *const envp[])
7 {
8         char buf[15 + 3*sizeof(int)];
9         __procfdname(buf, fd);
10         execve(buf, argv, envp);
11         if (errno == ENOENT) errno = EBADF;
12         return -1;
13 }