libbb: move common code into run_applet_and_exit
Both calls to run_applet_and_exit are followed by the same code to print an error message and return status 127. Remove this duplication and make run_applet_and_exit static. function old new delta run_applet_and_exit 675 667 -8 main 119 92 -27 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-35) Total: -35 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
ba12081a9e
commit
ce824aecf2
@ -1239,8 +1239,6 @@ const struct hwtype *get_hwntype(int type) FAST_FUNC;
|
|||||||
|
|
||||||
#ifndef BUILD_INDIVIDUAL
|
#ifndef BUILD_INDIVIDUAL
|
||||||
extern int find_applet_by_name(const char *name) FAST_FUNC;
|
extern int find_applet_by_name(const char *name) FAST_FUNC;
|
||||||
/* Returns only if applet is not found. */
|
|
||||||
extern void run_applet_and_exit(const char *name, char **argv) FAST_FUNC;
|
|
||||||
extern void run_applet_no_and_exit(int a, char **argv) NORETURN FAST_FUNC;
|
extern void run_applet_no_and_exit(int a, char **argv) NORETURN FAST_FUNC;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
|
|
||||||
#include "usage_compressed.h"
|
#include "usage_compressed.h"
|
||||||
|
|
||||||
|
static void run_applet_and_exit(const char *name, char **argv) NORETURN;
|
||||||
|
|
||||||
#if ENABLE_SHOW_USAGE && !ENABLE_FEATURE_COMPRESS_USAGE
|
#if ENABLE_SHOW_USAGE && !ENABLE_FEATURE_COMPRESS_USAGE
|
||||||
static const char usage_messages[] ALIGN1 = UNPACKED_USAGE;
|
static const char usage_messages[] ALIGN1 = UNPACKED_USAGE;
|
||||||
@ -837,12 +838,6 @@ static int busybox_main(char **argv)
|
|||||||
* "#!/bin/busybox"-style wrappers */
|
* "#!/bin/busybox"-style wrappers */
|
||||||
applet_name = bb_get_last_path_component_nostrip(argv[0]);
|
applet_name = bb_get_last_path_component_nostrip(argv[0]);
|
||||||
run_applet_and_exit(applet_name, argv);
|
run_applet_and_exit(applet_name, argv);
|
||||||
|
|
||||||
/*bb_error_msg_and_die("applet not found"); - sucks in printf */
|
|
||||||
full_write2_str(applet_name);
|
|
||||||
full_write2_str(": applet not found\n");
|
|
||||||
/* POSIX: "If a command is not found, the exit status shall be 127" */
|
|
||||||
exit(127);
|
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
@ -884,7 +879,7 @@ void FAST_FUNC run_applet_no_and_exit(int applet_no, char **argv)
|
|||||||
exit(applet_main[applet_no](argc, argv));
|
exit(applet_main[applet_no](argc, argv));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FAST_FUNC run_applet_and_exit(const char *name, char **argv)
|
static NORETURN void run_applet_and_exit(const char *name, char **argv)
|
||||||
{
|
{
|
||||||
int applet;
|
int applet;
|
||||||
|
|
||||||
@ -896,6 +891,12 @@ void FAST_FUNC run_applet_and_exit(const char *name, char **argv)
|
|||||||
applet = find_applet_by_name(name);
|
applet = find_applet_by_name(name);
|
||||||
if (applet >= 0)
|
if (applet >= 0)
|
||||||
run_applet_no_and_exit(applet, argv);
|
run_applet_no_and_exit(applet, argv);
|
||||||
|
|
||||||
|
/*bb_error_msg_and_die("applet not found"); - links in printf */
|
||||||
|
full_write2_str(applet_name);
|
||||||
|
full_write2_str(": applet not found\n");
|
||||||
|
/* POSIX: "If a command is not found, the exit status shall be 127" */
|
||||||
|
exit(127);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* !defined(SINGLE_APPLET_MAIN) */
|
#endif /* !defined(SINGLE_APPLET_MAIN) */
|
||||||
@ -968,11 +969,5 @@ int main(int argc UNUSED_PARAM, char **argv)
|
|||||||
parse_config_file(); /* ...maybe, if FEATURE_SUID_CONFIG */
|
parse_config_file(); /* ...maybe, if FEATURE_SUID_CONFIG */
|
||||||
|
|
||||||
run_applet_and_exit(applet_name, argv);
|
run_applet_and_exit(applet_name, argv);
|
||||||
|
|
||||||
/*bb_error_msg_and_die("applet not found"); - sucks in printf */
|
|
||||||
full_write2_str(applet_name);
|
|
||||||
full_write2_str(": applet not found\n");
|
|
||||||
/* POSIX: "If a command is not found, the exit status shall be 127" */
|
|
||||||
exit(127);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user