summaryrefslogtreecommitdiff
path: root/libc/stdlib/system.c
diff options
context:
space:
mode:
authorUbaldo Porcheddu <ubaldo@eja.it>2016-02-20 22:18:37 +0000
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-02-24 22:17:10 +0100
commit75d8660d99f1b5b5da471569955ffce9a27e8702 (patch)
treefaa0f4bd0ff400c88fd77ee54f8fddafe30e3a2b /libc/stdlib/system.c
parente63d716d4b39402294a5f5fbb34e17e094f17748 (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.c7
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)