diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-10 14:38:47 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-10-10 14:38:47 +0000 |
commit | 82d38dab917754c9c37aaa7e414a47318b5082fe (patch) | |
tree | ea00ffed0879edb0f2dce87953d6f9c5908a18bf /shell | |
parent | 141750e38897900db98eaeab1ea35c18f5794023 (diff) | |
download | busybox-w32-82d38dab917754c9c37aaa7e414a47318b5082fe.tar.gz busybox-w32-82d38dab917754c9c37aaa7e414a47318b5082fe.tar.bz2 busybox-w32-82d38dab917754c9c37aaa7e414a47318b5082fe.zip |
get rid of global "struct bb_applet *current_applet"
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 6 | ||||
-rw-r--r-- | shell/hush.c | 5 |
2 files changed, 4 insertions, 7 deletions
diff --git a/shell/ash.c b/shell/ash.c index 8b21e655c..af96c4d1d 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -6470,10 +6470,8 @@ tryexec(char *cmd, char **argv, char **envp) | |||
6470 | 6470 | ||
6471 | a = find_applet_by_name(cmd); | 6471 | a = find_applet_by_name(cmd); |
6472 | if (a) { | 6472 | if (a) { |
6473 | if (a->noexec) { | 6473 | if (a->noexec) |
6474 | current_applet = a; | 6474 | run_appletstruct_and_exit(a, argv); |
6475 | run_current_applet_and_exit(argv); | ||
6476 | } | ||
6477 | /* re-exec ourselves with the new arguments */ | 6475 | /* re-exec ourselves with the new arguments */ |
6478 | execve(bb_busybox_exec_path, argv, envp); | 6476 | execve(bb_busybox_exec_path, argv, envp); |
6479 | /* If they called chroot or otherwise made the binary no longer | 6477 | /* If they called chroot or otherwise made the binary no longer |
diff --git a/shell/hush.c b/shell/hush.c index 90ed15547..1977da0f0 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -1399,10 +1399,9 @@ static void pseudo_exec_argv(char **argv) | |||
1399 | const struct bb_applet *a = find_applet_by_name(argv[0]); | 1399 | const struct bb_applet *a = find_applet_by_name(argv[0]); |
1400 | if (a) { | 1400 | if (a) { |
1401 | if (a->noexec) { | 1401 | if (a->noexec) { |
1402 | current_applet = a; | ||
1403 | debug_printf_exec("running applet '%s'\n", argv[0]); | 1402 | debug_printf_exec("running applet '%s'\n", argv[0]); |
1404 | // is it ok that run_current_applet_and_exit() does exit(), not _exit()? | 1403 | // is it ok that run_appletstruct_and_exit() does exit(), not _exit()? |
1405 | run_current_applet_and_exit(argv); | 1404 | run_appletstruct_and_exit(a, argv); |
1406 | } | 1405 | } |
1407 | /* re-exec ourselves with the new arguments */ | 1406 | /* re-exec ourselves with the new arguments */ |
1408 | debug_printf_exec("re-execing applet '%s'\n", argv[0]); | 1407 | debug_printf_exec("re-execing applet '%s'\n", argv[0]); |