rename: run_applet_by_name -> run_applet_and_exit
This commit is contained in:
parent
12c96a64a4
commit
e4f2d064b0
@ -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");
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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]);
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user