From 21e8e8da6483c80a6054b06e48341968a7dccdd5 Mon Sep 17 00:00:00 2001 From: Pascal Bellard Date: Sun, 4 Jul 2010 00:57:03 +0200 Subject: libbb: introduce and use BB_EXECVP_or_die() function old new delta BB_EXECVP_or_die - 47 +47 time_main 1042 1043 +1 chrt_main 371 364 -7 ionice_main 292 282 -10 setsid_main 69 56 -13 nohup_main 236 223 -13 cttyhack_main 266 253 -13 chroot_main 94 81 -13 chpst_main 746 733 -13 timeout_main 297 279 -18 taskset_main 541 522 -19 vfork_child 67 45 -22 parse 975 953 -22 lpd_main 770 748 -22 launch_helper 192 170 -22 tcpudpsvd_main 1810 1782 -28 nice_main 190 156 -34 env_main 242 206 -36 run_command 221 174 -47 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/17 up/down: 48/-352) Total: -304 bytes Signed-off-by: Pascal Bellard Signed-off-by: Denys Vlasenko --- coreutils/chroot.c | 3 +-- coreutils/env.c | 5 +---- coreutils/nice.c | 5 +---- coreutils/nohup.c | 3 +-- 4 files changed, 4 insertions(+), 12 deletions(-) (limited to 'coreutils') diff --git a/coreutils/chroot.c b/coreutils/chroot.c index bc0b1f8..046c2fa 100644 --- a/coreutils/chroot.c +++ b/coreutils/chroot.c @@ -30,6 +30,5 @@ int chroot_main(int argc UNUSED_PARAM, char **argv) argv[1] = (char *) "-i"; } - BB_EXECVP(argv[0], argv); - bb_perror_msg_and_die("can't execute '%s'", argv[0]); + BB_EXECVP_or_die(argv); } diff --git a/coreutils/env.c b/coreutils/env.c index c6ba04d..d4eab19 100644 --- a/coreutils/env.c +++ b/coreutils/env.c @@ -77,10 +77,7 @@ int env_main(int argc UNUSED_PARAM, char **argv) } if (argv[0]) { - BB_EXECVP(argv[0], argv); - /* SUSv3-mandated exit codes. */ - xfunc_error_retval = (errno == ENOENT) ? 127 : 126; - bb_perror_msg_and_die("can't execute '%s'", argv[0]); + BB_EXECVP_or_die(argv); } if (environ) { /* clearenv() may set environ == NULL! */ diff --git a/coreutils/nice.c b/coreutils/nice.c index 0f70f10..ff3eb11 100644 --- a/coreutils/nice.c +++ b/coreutils/nice.c @@ -47,8 +47,5 @@ int nice_main(int argc, char **argv) } } - BB_EXECVP(argv[0], argv); - /* The exec failed... */ - xfunc_error_retval = (errno == ENOENT) ? 127 : 126; /* SUSv3 */ - bb_perror_msg_and_die("can't execute '%s'", argv[0]); + BB_EXECVP_or_die(argv); } diff --git a/coreutils/nohup.c b/coreutils/nohup.c index 1027ada..3dc5314 100644 --- a/coreutils/nohup.c +++ b/coreutils/nohup.c @@ -76,6 +76,5 @@ int nohup_main(int argc UNUSED_PARAM, char **argv) signal(SIGHUP, SIG_IGN); argv++; - BB_EXECVP(argv[0], argv); - bb_perror_msg_and_die("can't execute '%s'", argv[0]); + BB_EXECVP_or_die(argv); } -- cgit v1.1