aboutsummaryrefslogtreecommitdiffstats
path: root/main/busybox/0014-ash-implement-exec-a-ARGV0-CMD-ARGV1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/busybox/0014-ash-implement-exec-a-ARGV0-CMD-ARGV1.patch')
-rw-r--r--main/busybox/0014-ash-implement-exec-a-ARGV0-CMD-ARGV1.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/main/busybox/0014-ash-implement-exec-a-ARGV0-CMD-ARGV1.patch b/main/busybox/0014-ash-implement-exec-a-ARGV0-CMD-ARGV1.patch
deleted file mode 100644
index 028196a40b..0000000000
--- a/main/busybox/0014-ash-implement-exec-a-ARGV0-CMD-ARGV1.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 6c149f4d9afaed9edb75c88b784ad900c1f40700 Mon Sep 17 00:00:00 2001
-From: Denys Vlasenko <vda.linux@googlemail.com>
-Date: Wed, 12 Apr 2017 21:31:32 +0200
-Subject: [PATCH 14/14] ash: implement "exec -a ARGV0 CMD ARGV1..."
-
-function old new delta
-execcmd 71 112 +41
-shellexec 221 224 +3
-evalcommand 1158 1161 +3
-localcmd 364 366 +2
-unaliascmd 163 154 -9
-------------------------------------------------------------------------------
-(add/remove: 0/0 grow/shrink: 4/1 up/down: 49/-9) Total: 40 bytes
-
-Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
----
- shell/ash.c | 22 +++++++++++++++-------
- 1 file changed, 15 insertions(+), 7 deletions(-)
-
-diff --git a/shell/ash.c b/shell/ash.c
-index 044f166..e170bec 100644
---- a/shell/ash.c
-+++ b/shell/ash.c
-@@ -3345,11 +3345,9 @@ unaliascmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
- {
- int i;
-
-- while ((i = nextopt("a")) != '\0') {
-- if (i == 'a') {
-- rmaliases();
-- return 0;
-- }
-+ while (nextopt("a") != '\0') {
-+ rmaliases();
-+ return 0;
- }
- for (i = 0; *argptr; argptr++) {
- if (unalias(*argptr)) {
-@@ -9354,7 +9352,14 @@ truecmd(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
- static int FAST_FUNC
- execcmd(int argc UNUSED_PARAM, char **argv)
- {
-- if (argv[1]) {
-+ optionarg = NULL;
-+ while (nextopt("a:") != '\0')
-+ /* nextopt() sets optionarg to "-a ARGV0" */;
-+
-+ argv = argptr;
-+ if (argv[0]) {
-+ char *prog;
-+
- iflag = 0; /* exit on error */
- mflag = 0;
- optschanged();
-@@ -9370,7 +9375,10 @@ execcmd(int argc UNUSED_PARAM, char **argv)
- /*setsignal(SIGTSTP); - unnecessary because of mflag=0 */
- /*setsignal(SIGTTOU); - unnecessary because of mflag=0 */
-
-- shellexec(argv[1], argv + 1, pathval(), 0);
-+ prog = argv[0];
-+ if (optionarg)
-+ argv[0] = optionarg;
-+ shellexec(prog, argv, pathval(), 0);
- /* NOTREACHED */
- }
- return 0;
---
-2.9.3
-