diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/shell/ash.c b/shell/ash.c index b1f8f15d2..44b3569dc 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -158,6 +158,10 @@ | |||
158 | //config: at build time. Like applets, scripts can be run as | 158 | //config: at build time. Like applets, scripts can be run as |
159 | //config: 'busybox SCRIPT ...' or by linking their name to the binary. | 159 | //config: 'busybox SCRIPT ...' or by linking their name to the binary. |
160 | //config: | 160 | //config: |
161 | //config: This also allows applets to be implemented as scripts: place | ||
162 | //config: the script in 'applets_sh' and a stub C file containing | ||
163 | //config: configuration in the appropriate subsystem directory. | ||
164 | //config: | ||
161 | //config:endif # ash options | 165 | //config:endif # ash options |
162 | 166 | ||
163 | //applet:IF_ASH(APPLET(ash, BB_DIR_BIN, BB_SUID_DROP)) | 167 | //applet:IF_ASH(APPLET(ash, BB_DIR_BIN, BB_SUID_DROP)) |
@@ -8016,9 +8020,6 @@ tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) const char *cmd, char **argv, c | |||
8016 | { | 8020 | { |
8017 | #if ENABLE_FEATURE_SH_STANDALONE | 8021 | #if ENABLE_FEATURE_SH_STANDALONE |
8018 | if (applet_no >= 0) { | 8022 | if (applet_no >= 0) { |
8019 | # if NUM_SCRIPTS > 0 | ||
8020 | if (applet_no < NUM_APPLETS) | ||
8021 | # endif | ||
8022 | if (APPLET_IS_NOEXEC(applet_no)) { | 8023 | if (APPLET_IS_NOEXEC(applet_no)) { |
8023 | clearenv(); | 8024 | clearenv(); |
8024 | while (*envp) | 8025 | while (*envp) |
@@ -8088,9 +8089,6 @@ static void shellexec(char *prog, char **argv, const char *path, int idx) | |||
8088 | if (strchr(prog, '/') != NULL | 8089 | if (strchr(prog, '/') != NULL |
8089 | #if ENABLE_FEATURE_SH_STANDALONE | 8090 | #if ENABLE_FEATURE_SH_STANDALONE |
8090 | || (applet_no = find_applet_by_name(prog)) >= 0 | 8091 | || (applet_no = find_applet_by_name(prog)) >= 0 |
8091 | # if NUM_SCRIPTS > 0 | ||
8092 | || (applet_no = NUM_APPLETS + find_script_by_name(prog)) >= 0 | ||
8093 | # endif | ||
8094 | #endif | 8092 | #endif |
8095 | ) { | 8093 | ) { |
8096 | tryexec(IF_FEATURE_SH_STANDALONE(applet_no,) prog, argv, envp); | 8094 | tryexec(IF_FEATURE_SH_STANDALONE(applet_no,) prog, argv, envp); |
@@ -10192,10 +10190,6 @@ evalcommand(union node *cmd, int flags) | |||
10192 | */ | 10190 | */ |
10193 | /* find_command() encodes applet_no as (-2 - applet_no) */ | 10191 | /* find_command() encodes applet_no as (-2 - applet_no) */ |
10194 | int applet_no = (- cmdentry.u.index - 2); | 10192 | int applet_no = (- cmdentry.u.index - 2); |
10195 | # if NUM_SCRIPTS > 0 | ||
10196 | /* Applets are ok, but not embedded scripts */ | ||
10197 | if (applet_no < NUM_APPLETS) | ||
10198 | # endif | ||
10199 | if (applet_no >= 0 && APPLET_IS_NOFORK(applet_no)) { | 10193 | if (applet_no >= 0 && APPLET_IS_NOFORK(applet_no)) { |
10200 | char **sv_environ; | 10194 | char **sv_environ; |
10201 | 10195 | ||
@@ -13378,11 +13372,6 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path) | |||
13378 | #if ENABLE_FEATURE_SH_STANDALONE | 13372 | #if ENABLE_FEATURE_SH_STANDALONE |
13379 | { | 13373 | { |
13380 | int applet_no = find_applet_by_name(name); | 13374 | int applet_no = find_applet_by_name(name); |
13381 | # if NUM_SCRIPTS > 0 | ||
13382 | if (applet_no < 0) | ||
13383 | /* embedded script indices are offset by NUM_APPLETS */ | ||
13384 | applet_no = NUM_APPLETS + find_script_by_name(name); | ||
13385 | # endif | ||
13386 | if (applet_no >= 0) { | 13375 | if (applet_no >= 0) { |
13387 | entry->cmdtype = CMDNORMAL; | 13376 | entry->cmdtype = CMDNORMAL; |
13388 | entry->u.index = -2 - applet_no; | 13377 | entry->u.index = -2 - applet_no; |