46 lines
1.7 KiB
Diff
46 lines
1.7 KiB
Diff
|
diff -u -r ../ruby-2.1.2/process.c ./process.c
|
||
|
--- ../ruby-2.1.2/process.c 2014-02-20 05:44:35.000000000 +0100
|
||
|
+++ ./process.c 2014-06-27 09:37:35.479988774 +0200
|
||
|
@@ -1148,9 +1148,9 @@
|
||
|
*argv = (char *)prog;
|
||
|
*--argv = (char *)"sh";
|
||
|
if (envp)
|
||
|
- execve("/bin/sh", argv, envp); /* async-signal-safe */
|
||
|
+ execve("/system/bin/sh", argv, envp); /* async-signal-safe */
|
||
|
else
|
||
|
- execv("/bin/sh", argv); /* async-signal-safe */
|
||
|
+ execv("/system/bin/sh", argv); /* async-signal-safe */
|
||
|
}
|
||
|
|
||
|
#else
|
||
|
@@ -1307,9 +1307,9 @@
|
||
|
}
|
||
|
#else
|
||
|
if (envp_str)
|
||
|
- execle("/bin/sh", "sh", "-c", str, (char *)NULL, (char **)RSTRING_PTR(envp_str)); /* async-signal-safe */
|
||
|
+ execle("/system/bin/sh", "sh", "-c", str, (char *)NULL, (char **)RSTRING_PTR(envp_str)); /* async-signal-safe */
|
||
|
else
|
||
|
- execl("/bin/sh", "sh", "-c", str, (char *)NULL); /* async-signal-safe */
|
||
|
+ execl("/system/bin/sh", "sh", "-c", str, (char *)NULL); /* async-signal-safe */
|
||
|
#endif
|
||
|
return -1;
|
||
|
#endif /* _WIN32 */
|
||
|
@@ -1418,7 +1418,7 @@
|
||
|
if (status == -1 && errno == ENOEXEC) {
|
||
|
*argv = (char *)prog;
|
||
|
*--argv = (char *)"sh";
|
||
|
- status = spawnv(P_NOWAIT, "/bin/sh", (const char **)argv);
|
||
|
+ status = spawnv(P_NOWAIT, "/system/bin/sh", (const char **)argv);
|
||
|
after_exec();
|
||
|
if (status == -1) errno = ENOEXEC;
|
||
|
}
|
||
|
@@ -1456,7 +1456,7 @@
|
||
|
|
||
|
char *shell = dln_find_exe_r("sh", 0, fbuf, sizeof(fbuf));
|
||
|
before_exec();
|
||
|
- status = spawnl(P_NOWAIT, (shell ? shell : "/bin/sh"), "sh", "-c", str, (char*)NULL);
|
||
|
+ status = spawnl(P_NOWAIT, (shell ? shell : "/system/bin/sh"), "sh", "-c", str, (char*)NULL);
|
||
|
after_exec();
|
||
|
return status;
|
||
|
}
|