run_parts: NULL-terminate list of arguments; fix perror/error usage
This commit is contained in:
parent
450196c119
commit
45cd089df1
@ -49,8 +49,8 @@ static const struct option runparts_long_options[] = {
|
||||
#endif
|
||||
|
||||
struct globals {
|
||||
char *cmd[10]; /* merely arbitrary arg count */
|
||||
smalluint mode;
|
||||
char *cmd[10]; /* merely arbitrary arg count */
|
||||
};
|
||||
#define G (*(struct globals*)&bb_common_bufsiz1)
|
||||
|
||||
@ -101,9 +101,9 @@ static int act(const char *file, struct stat *statbuf, void *args, int depth)
|
||||
G.cmd[0] = (char*)file;
|
||||
ret = wait4pid(spawn(G.cmd));
|
||||
if (ret < 0) {
|
||||
bb_error_msg("failed to exec %s", *G.cmd);
|
||||
bb_perror_msg("failed to exec %s", file);
|
||||
} else if (ret > 0) {
|
||||
bb_perror_msg("%s exited with return code %d", *G.cmd, ret);
|
||||
bb_error_msg("%s exited with return code %d", file, ret);
|
||||
}
|
||||
return !ret;
|
||||
}
|
||||
@ -134,9 +134,9 @@ int run_parts_main(int argc, char **argv)
|
||||
//XXX: FIXME: reverse the list before handing it over to the user.
|
||||
//XXX: FIXME: The common case seems to be to use the order given by the user
|
||||
arg_list = llist_rev(arg_list); /* XXX: getopt32 appends them */
|
||||
G.cmd[0] = (char*)"";
|
||||
for (tmp = 1; arg_list; arg_list = arg_list->link, tmp++)
|
||||
G.cmd[tmp] = arg_list->data;
|
||||
G.cmd[tmp] = NULL;
|
||||
if (!recursive_action(argv[argc - 1],
|
||||
TRUE, /* recurse */
|
||||
TRUE, /* follow links */
|
||||
|
Loading…
Reference in New Issue
Block a user