From 45cd089df1d0f519f863baed46f8f3afd8b19593 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 28 Mar 2007 22:04:04 +0000 Subject: run_parts: NULL-terminate list of arguments; fix perror/error usage --- debianutils/run_parts.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'debianutils/run_parts.c') diff --git a/debianutils/run_parts.c b/debianutils/run_parts.c index aa449c410..7d41c6913 100644 --- a/debianutils/run_parts.c +++ b/debianutils/run_parts.c @@ -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; } @@ -129,14 +129,14 @@ int run_parts_main(int argc, char **argv) * libc is not foolproof; it will take the 8 and 9 digits under * some circumstances. We'll just have to live with it. */ - umask(xstrtoul_range(umask_p, 8, 0, 07777)); + umask(xstrtoul_range(umask_p, 8, 0, 07777)); } //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 */ -- cgit v1.2.3