]>
git.proxmox.com Git - wasi-libc.git/blob - libc-top-half/musl/src/process/execvp.c
7 extern char **__environ
;
9 int __execvpe(const char *file
, char *const argv
[], char *const envp
[])
11 const char *p
, *z
, *path
= getenv("PATH");
16 if (!*file
) return -1;
18 if (strchr(file
, '/'))
19 return execve(file
, argv
, envp
);
21 if (!path
) path
= "/usr/local/bin:/bin:/usr/bin";
22 k
= strnlen(file
, NAME_MAX
+1);
27 l
= strnlen(path
, PATH_MAX
-1)+1;
31 z
= __strchrnul(p
, ':');
38 memcpy(b
+(z
-p
)+(z
>p
), file
, k
+1);
39 execve(b
, argv
, envp
);
51 if (seen_eacces
) errno
= EACCES
;
55 int execvp(const char *file
, char *const argv
[])
57 return __execvpe(file
, argv
, __environ
);
60 weak_alias(__execvpe
, execvpe
);