mirror of
https://github.com/sheumann/hush.git
synced 2024-12-21 23:29:34 +00:00
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) {
|
||||
/* set name for proper "<name>: applet not found" */
|
||||
applet_name = argv[2];
|
||||
run_applet_by_name(applet_name, 2, argv);
|
||||
run_applet_and_exit(applet_name, 2, argv);
|
||||
} else {
|
||||
const struct bb_applet *a;
|
||||
int col, output_width;
|
||||
@ -582,7 +582,7 @@ static int busybox_main(int argc, char **argv)
|
||||
} else {
|
||||
/* we want "<argv[1]>: applet not found", not "busybox: ..." */
|
||||
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");
|
||||
@ -598,7 +598,7 @@ void run_current_applet_and_exit(int argc, char **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);
|
||||
if (current_applet)
|
||||
@ -633,6 +633,6 @@ int main(int argc, char **argv)
|
||||
if (ENABLE_LOCALE_SUPPORT && getpid() != 1)
|
||||
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");
|
||||
}
|
||||
|
@ -531,7 +531,7 @@ applets.</p>
|
||||
|
||||
<p>Busybox execution starts with the main() function in applets/busybox.c,
|
||||
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
|
||||
transfer control to the appropriate APPLET_main() function (such as
|
||||
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;
|
||||
extern const struct bb_applet *find_applet_by_name(const char *name);
|
||||
/* 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;
|
||||
#endif
|
||||
|
||||
|
@ -106,7 +106,7 @@ function buildit ()
|
||||
gcc -Os -o build/$APPLET applets/individual.c $j \
|
||||
`extra_libraries $APPFILT` libbb/libbb.a -Iinclude \
|
||||
-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}
|
||||
if [ $? -ne 0 ];
|
||||
then
|
||||
|
@ -165,7 +165,7 @@ static int run_pipeline(struct pipeline *line)
|
||||
int status;
|
||||
pid_t pid=fork();
|
||||
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);
|
||||
printf("No %s",cmd->argv[0]);
|
||||
exit(1);
|
||||
|
@ -1123,7 +1123,7 @@ static void pseudo_exec(struct child_prog *child)
|
||||
/**/;
|
||||
optind = 1;
|
||||
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
|
||||
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++);
|
||||
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);
|
||||
|
@ -3068,7 +3068,7 @@ static const char *rexecve(char *c, char **v, char **envp)
|
||||
optind = 1;
|
||||
if (find_applet_by_name(name)) {
|
||||
/* 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. */
|
||||
execve(CONFIG_BUSYBOX_EXEC_PATH, v, envp);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user