X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fprocess%2Fposix_spawnp.c;h=aad6133b919287daa4219aed26901efb702260e6;hb=d4f987e4ac44e4e5ca2bcf68365b4c2b77bdf2d0;hp=7434bb690b6402c5ddd8b697f164bb06f70851ec;hpb=c97f0d998cae23472ea30564663a8612dcfb6f83;p=musl diff --git a/src/process/posix_spawnp.c b/src/process/posix_spawnp.c index 7434bb69..aad6133b 100644 --- a/src/process/posix_spawnp.c +++ b/src/process/posix_spawnp.c @@ -1,14 +1,13 @@ #include #include -int __posix_spawnx(pid_t *, const char *, - int (*)(const char *, char *const *), - const posix_spawn_file_actions_t *, - const posix_spawnattr_t *, char **, char **); - -int posix_spawnp(pid_t *res, const char *file, +int posix_spawnp(pid_t *restrict res, const char *restrict file, const posix_spawn_file_actions_t *fa, - const posix_spawnattr_t *attr, char **argv, char **envp) + const posix_spawnattr_t *restrict attr, + char *const argv[restrict], char *const envp[restrict]) { - return __posix_spawnx(res, file, execvp, fa, attr, argv, envp); + posix_spawnattr_t spawnp_attr = { 0 }; + if (attr) spawnp_attr = *attr; + spawnp_attr.__fn = (void *)__execvpe; + return posix_spawn(res, file, fa, &spawnp_attr, argv, envp); }