Signed-off-by: Ubaldo Porcheddu ubaldo@eja.it --- libc/stdio/popen.c | 3 ++- libc/stdlib/system.c | 7 ++++--- libc/unistd/exec.c | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/libc/stdio/popen.c b/libc/stdio/popen.c index e1b1d40..1efbd3b 100644 --- a/libc/stdio/popen.c +++ b/libc/stdio/popen.c @@ -17,6 +17,7 @@
#include <stdio.h> #include <stdlib.h> +#include <paths.h> #include <errno.h> #include <unistd.h> #include <sys/wait.h> @@ -91,7 +92,7 @@ FILE *popen(const char *command, const char *modes) close(po->f->__filedes); }
- execl("/bin/sh", "sh", "-c", command, (char *)0); + execl(_PATH_BSHELL, "sh", "-c", command, (char *)0);
/* SUSv3 mandates an exit code of 127 for the child if the * command interpreter can not be invoked. */ diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c index 8a6734d..771c30e 100644 --- a/libc/stdlib/system.c +++ b/libc/stdlib/system.c @@ -11,6 +11,7 @@ #include <unistd.h> #include <sys/wait.h> #include <stdlib.h> +#include <paths.h> #ifdef __UCLIBC_HAS_THREADS_NATIVE__ #include <sched.h> #include <errno.h> @@ -50,7 +51,7 @@ int __libc_system(const char *command) sigaction(SIGINT, &save_int, NULL); sigprocmask(SIG_SETMASK, &save_mask, NULL);
- execl("/bin/sh", "sh", "-c", command, (char *) 0); + execl(_PATH_BSHELL, "sh", "-c", command, (char *) 0); _exit(127); }
@@ -169,7 +170,7 @@ do_system (const char *line) { /* Child side. */ const char *new_argv[4]; - new_argv[0] = "/bin/sh"; + new_argv[0] = _PATH_BSHELL; new_argv[1] = "-c"; new_argv[2] = line; new_argv[3] = NULL; @@ -181,7 +182,7 @@ do_system (const char *line) INIT_LOCK ();
/* Exec the shell. */ - (void) execve ("/bin/sh", (char *const *) new_argv, __environ); + (void) execve (_PATH_BSHELL, (char *const *) new_argv, __environ); _exit (127); } else if (pid < (pid_t) 0) diff --git a/libc/unistd/exec.c b/libc/unistd/exec.c index 8fa42e5..9be856d 100644 --- a/libc/unistd/exec.c +++ b/libc/unistd/exec.c @@ -20,6 +20,7 @@
#include <stdio.h> #include <stdlib.h> +#include <paths.h> #include <string.h> #include <errno.h> #include <stdarg.h> @@ -273,9 +274,9 @@ int execvpe(const char *path, char *const argv[], char *const envp[]) nargv[1] = (char *)path; memcpy(nargv+2, argv+1, n*sizeof(char *)); #if defined (L_execvp) - execve("/bin/sh", nargv, __environ); + execve(_PATH_BSHELL, nargv, __environ); #elif defined (L_execvpe) - execve("/bin/sh", nargv, envp); + execve(_PATH_BSHELL, nargv, envp); #endif EXEC_FREE(nargv, size2); }
Signed-off-by: Ubaldo Porcheddu ubaldo@eja.it --- libc/inet/resolv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c index 4028afc..4b33896 100644 --- a/libc/inet/resolv.c +++ b/libc/inet/resolv.c @@ -974,7 +974,7 @@ void __open_nameservers(void) if (!__res_sync) { /* Reread /etc/resolv.conf if it was modified. */ struct stat sb; - if (stat("/etc/resolv.conf", &sb) != 0) + if (stat(_PATH_RESCONF, &sb) != 0) sb.st_mtime = 0; if (resolv_conf_mtime != (uint32_t)sb.st_mtime) { resolv_conf_mtime = sb.st_mtime; @@ -988,7 +988,7 @@ void __open_nameservers(void) __resolv_timeout = RES_TIMEOUT; __resolv_attempts = RES_DFLRETRY;
- fp = fopen("/etc/resolv.conf", "r"); + fp = fopen(_PATH_RESCONF, "r"); #ifdef FALLBACK_TO_CONFIG_RESOLVCONF if (!fp) { /* If we do not have a pre-populated /etc/resolv.conf then
Hi Ubaldo, Ubaldo Porcheddu wrote,
Signed-off-by: Ubaldo Porcheddu ubaldo@eja.it
libc/stdio/popen.c | 3 ++- libc/stdlib/system.c | 7 ++++--- libc/unistd/exec.c | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-)
Both patches applied, thanks Waldemar