hush: allow hush to run embedded scripts
Embedded scripts require a shell to be present in the BusyBox binary. Allow either ash or hush to be used for this purpose. If both are enabled ash takes precedence. The size of the binary is unchanged in the default configuration: both ash and hush are present but support for embedded scripts isn't compiled into hush. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
committed by
Denys Vlasenko
parent
f4709d78cb
commit
71df2d3589
@ -50,7 +50,7 @@
|
||||
|
||||
#include "usage_compressed.h"
|
||||
|
||||
#if ENABLE_ASH_EMBEDDED_SCRIPTS
|
||||
#if ENABLE_FEATURE_SH_EMBEDDED_SCRIPTS
|
||||
# define DEFINE_SCRIPT_DATA 1
|
||||
# include "embedded_scripts.h"
|
||||
#else
|
||||
@ -774,7 +774,13 @@ int scripted_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
int script = find_script_by_name(applet_name);
|
||||
if (script >= 0)
|
||||
#if ENABLE_ASH || ENABLE_SH_IS_ASH || ENABLE_BASH_IS_ASH
|
||||
exit(ash_main(-script - 1, argv));
|
||||
#elif ENABLE_HUSH || ENABLE_SH_IS_HUSH || ENABLE_BASH_IS_HUSH
|
||||
exit(hush_main(-script - 1, argv));
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user