diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/Config.in | 18 | ||||
-rw-r--r-- | shell/ash.c | 6 | ||||
-rw-r--r-- | shell/hush.c | 12 | ||||
-rw-r--r-- | shell/lash.c | 9 | ||||
-rw-r--r-- | shell/msh.c | 3 |
5 files changed, 8 insertions, 40 deletions
diff --git a/shell/Config.in b/shell/Config.in index 34baaa4..b064ed4 100644 --- a/shell/Config.in +++ b/shell/Config.in @@ -160,16 +160,14 @@ config CONFIG_FEATURE_SH_STANDALONE_SHELL default n depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH help - Have all the busybox commands built into the shell, creating - a standalone shell. - -config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN - bool "Standalone shell -- applets always win" - default n - depends on CONFIG_FEATURE_SH_STANDALONE_SHELL - help - Use a command builtin to the shell over one with the same name, - that may be on the system. + This option causes the selected busybox shell to use busybox applets + in preference to executables in the PATH whenever possible. For + example, entering the command 'ifconfig' into the shell would cause + busybox to use the ifconfig busybox applet. Specifying the fully + qualified executable name, such as '/sbin/ifconfig' will still + execute the /sbin/ifconfig executable on the filesystem. This option + is generally used when creating a staticly linked version of busybox + for use as a rescue shell, in the event that you screw up your system. config CONFIG_FEATURE_COMMAND_EDITING bool "command line editing" diff --git a/shell/ash.c b/shell/ash.c index 5ebc8ac..1a0e0aa 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -3717,15 +3717,9 @@ tryexec(char *cmd, char **argv, char **envp) int flg_bb = 0; char *name = cmd; -#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN - name = bb_get_last_path_component(name); - if(find_applet_by_name(name) != NULL) - flg_bb = 1; -#else if(strchr(name, '/') == NULL && find_applet_by_name(name) != NULL) { flg_bb = 1; } -#endif if(flg_bb) { char **ap; char **new; diff --git a/shell/hush.c b/shell/hush.c index 0a32099..ad5ddf0 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -1124,18 +1124,6 @@ static void pseudo_exec(struct child_prog *child) char** argv_l=child->argv; char *name = child->argv[0]; -#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN - /* Following discussions from November 2000 on the busybox mailing - * list, the default configuration, (without - * bb_get_last_path_component()) lets the user force use of an - * external command by specifying the full (with slashes) filename. - * If you enable CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN, then applets - * _aways_ override external commands, so if you want to run - * /bin/cat, it will use BusyBox cat even if /bin/cat exists on the - * filesystem and is _not_ busybox. Some systems may want this, - * most do not. */ - name = bb_get_last_path_component(name); -#endif /* Count argc for use in a second... */ for(argc_l=0;*argv_l!=NULL; argv_l++, argc_l++); optind = 1; diff --git a/shell/lash.c b/shell/lash.c index e20c2a2..b46cee8 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -1275,15 +1275,6 @@ static int pseudo_exec(struct child_prog *child) */ name = child->argv[0]; -#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN - /* If you enable CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN, then - * if you run /bin/cat, it will use BusyBox cat even if - * /bin/cat exists on the filesystem and is _not_ busybox. - * Some systems want this, others do not. Choose wisely. :-) - */ - name = bb_get_last_path_component(name); -#endif - { char** argv_l=child->argv; int argc_l; diff --git a/shell/msh.c b/shell/msh.c index e705950..5dc0b2b 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -2836,9 +2836,6 @@ char *c, **v, **envp; #ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL char *name = c; -#ifdef CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN - name = bb_get_last_path_component(name); -#endif optind = 1; if (find_applet_by_name(name)) { /* We have to exec here since we vforked. Running |