rename: run_applet_by_name -> run_applet_and_exit

This commit is contained in:
Denis Vlasenko 2007-04-11 17:03:19 +00:00
parent 12c96a64a4
commit e4f2d064b0
8 changed files with 11 additions and 11 deletions

View File

@ -541,7 +541,7 @@ static int busybox_main(int argc, char **argv)
if (argc > 2) { if (argc > 2) {
/* set name for proper "<name>: applet not found" */ /* set name for proper "<name>: applet not found" */
applet_name = argv[2]; applet_name = argv[2];
run_applet_by_name(applet_name, 2, argv); run_applet_and_exit(applet_name, 2, argv);
} else { } else {
const struct bb_applet *a; const struct bb_applet *a;
int col, output_width; int col, output_width;
@ -582,7 +582,7 @@ static int busybox_main(int argc, char **argv)
} else { } else {
/* we want "<argv[1]>: applet not found", not "busybox: ..." */ /* we want "<argv[1]>: applet not found", not "busybox: ..." */
applet_name = argv[1]; applet_name = argv[1];
run_applet_by_name(argv[1], argc - 1, argv + 1); run_applet_and_exit(argv[1], argc - 1, argv + 1);
} }
bb_error_msg_and_die("applet not found"); bb_error_msg_and_die("applet not found");
@ -598,7 +598,7 @@ void run_current_applet_and_exit(int argc, char **argv)
exit(current_applet->main(argc, argv)); exit(current_applet->main(argc, argv));
} }
void run_applet_by_name(const char *name, int argc, char **argv) void run_applet_and_exit(const char *name, int argc, char **argv)
{ {
current_applet = find_applet_by_name(name); current_applet = find_applet_by_name(name);
if (current_applet) if (current_applet)
@ -633,6 +633,6 @@ int main(int argc, char **argv)
if (ENABLE_LOCALE_SUPPORT && getpid() != 1) if (ENABLE_LOCALE_SUPPORT && getpid() != 1)
setlocale(LC_ALL, ""); setlocale(LC_ALL, "");
run_applet_by_name(applet_name, argc, argv); run_applet_and_exit(applet_name, argc, argv);
bb_error_msg_and_die("applet not found"); bb_error_msg_and_die("applet not found");
} }

View File

@ -531,7 +531,7 @@ applets.</p>
<p>Busybox execution starts with the main() function in applets/busybox.c, <p>Busybox execution starts with the main() function in applets/busybox.c,
which sets the global variable applet_name to argv[0] and calls which sets the global variable applet_name to argv[0] and calls
run_applet_by_name() in applets/applets.c. That uses the applets[] array run_applet_and_exit() in applets/applets.c. That uses the applets[] array
(defined in include/busybox.h and filled out in include/applets.h) to (defined in include/busybox.h and filled out in include/applets.h) to
transfer control to the appropriate APPLET_main() function (such as transfer control to the appropriate APPLET_main() function (such as
cat_main() or sed_main()). The individual applet takes it from there.</p> cat_main() or sed_main()). The individual applet takes it from there.</p>

View File

@ -675,7 +675,7 @@ const struct hwtype *get_hwntype(int type);
struct bb_applet; struct bb_applet;
extern const struct bb_applet *find_applet_by_name(const char *name); extern const struct bb_applet *find_applet_by_name(const char *name);
/* Returns only if applet is not found. */ /* Returns only if applet is not found. */
extern void run_applet_by_name(const char *name, int argc, char **argv); extern void run_applet_and_exit(const char *name, int argc, char **argv);
extern void run_current_applet_and_exit(int argc, char **argv) ATTRIBUTE_NORETURN; extern void run_current_applet_and_exit(int argc, char **argv) ATTRIBUTE_NORETURN;
#endif #endif

View File

@ -106,7 +106,7 @@ function buildit ()
gcc -Os -o build/$APPLET applets/individual.c $j \ gcc -Os -o build/$APPLET applets/individual.c $j \
`extra_libraries $APPFILT` libbb/libbb.a -Iinclude \ `extra_libraries $APPFILT` libbb/libbb.a -Iinclude \
-DBUILD_INDIVIDUAL \ -DBUILD_INDIVIDUAL \
'-Drun_applet_by_name(...)' '-Dfind_applet_by_name(...)=0' \ '-Drun_applet_and_exit(...)' '-Dfind_applet_by_name(...)=0' \
-DAPPLET_main=${APPFILT}_main -DAPPLET_full_usage=${HELPNAME} -DAPPLET_main=${APPFILT}_main -DAPPLET_full_usage=${HELPNAME}
if [ $? -ne 0 ]; if [ $? -ne 0 ];
then then

View File

@ -165,7 +165,7 @@ static int run_pipeline(struct pipeline *line)
int status; int status;
pid_t pid=fork(); pid_t pid=fork();
if(!pid) { if(!pid) {
run_applet_by_name(cmd->argv[0],cmd->argc,cmd->argv); run_applet_and_exit(cmd->argv[0],cmd->argc,cmd->argv);
execvp(cmd->argv[0],cmd->argv); execvp(cmd->argv[0],cmd->argv);
printf("No %s",cmd->argv[0]); printf("No %s",cmd->argv[0]);
exit(1); exit(1);

View File

@ -1123,7 +1123,7 @@ static void pseudo_exec(struct child_prog *child)
/**/; /**/;
optind = 1; optind = 1;
debug_printf("running applet %s\n", name); debug_printf("running applet %s\n", name);
run_applet_by_name(name, argc_l, child->argv); run_applet_and_exit(name, argc_l, child->argv);
} }
#endif #endif
debug_printf("exec of %s\n", child->argv[0]); debug_printf("exec of %s\n", child->argv[0]);

View File

@ -1170,7 +1170,7 @@ static int pseudo_exec(struct child_prog *child)
for (argc_l = 0; *argv_l; argv_l++, argc_l++); for (argc_l = 0; *argv_l; argv_l++, argc_l++);
optind = 1; optind = 1;
run_applet_by_name(child->argv[0], argc_l, child->argv); run_applet_and_exit(child->argv[0], argc_l, child->argv);
} }
execvp(child->argv[0], child->argv); execvp(child->argv[0], child->argv);

View File

@ -3068,7 +3068,7 @@ static const char *rexecve(char *c, char **v, char **envp)
optind = 1; optind = 1;
if (find_applet_by_name(name)) { if (find_applet_by_name(name)) {
/* We have to exec here since we vforked. Running /* We have to exec here since we vforked. Running
* run_applet_by_name() won't work and bad things * run_applet_and_exit() won't work and bad things
* will happen. */ * will happen. */
execve(CONFIG_BUSYBOX_EXEC_PATH, v, envp); execve(CONFIG_BUSYBOX_EXEC_PATH, v, envp);
} }