diff options
author | Ubaldo Porcheddu <ubaldo@eja.it> | 2016-02-20 22:18:37 +0000 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-02-24 22:17:10 +0100 |
commit | 75d8660d99f1b5b5da471569955ffce9a27e8702 (patch) | |
tree | faa0f4bd0ff400c88fd77ee54f8fddafe30e3a2b /libc/stdlib/system.c | |
parent | e63d716d4b39402294a5f5fbb34e17e094f17748 (diff) |
Replaced any occurence of /bin/sh with _PATH_BSHELL to allow easier portability on system with default shell on a different directory, like for instance on android.
Signed-off-by: Ubaldo Porcheddu <ubaldo@eja.it>
Diffstat (limited to 'libc/stdlib/system.c')
-rw-r--r-- | libc/stdlib/system.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c index 8a6734db7..771c30e3f 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) |