In most cases, this is completely mechanical, generated by the Coccinelle script
@@ expression a, b, c; @@ - pathexec_run + pathexec_run_or_die (a, b, c) ; - strerr_dieexec(111, a); In exec.c, we already win a little by doing a single call of pathexec_run instead of having each branch do their own; after that, we're in the same situation as the other 10 instances. Signed-off-by: Rasmus Villemoes <[email protected]> --- src/execline/cd.c | 3 +-- src/execline/exec.c | 4 +--- src/execline/fdblock.c | 3 +-- src/execline/fdclose.c | 3 +-- src/execline/fdmove.c | 3 +-- src/execline/fdswap.c | 3 +-- src/execline/forbacktickx.c | 3 +-- src/execline/heredoc.c | 3 +-- src/execline/piperw.c | 3 +-- src/execline/redirfd.c | 3 +-- src/execline/umask.c | 3 +-- 11 files changed, 11 insertions(+), 23 deletions(-) diff --git a/src/execline/cd.c b/src/execline/cd.c index c774ce5..438383c 100644 --- a/src/execline/cd.c +++ b/src/execline/cd.c @@ -12,6 +12,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if (argc < 3) strerr_dieusage(100, USAGE) ; if (chdir(argv[1]) == -1) strerr_diefu2sys(111, "chdir to ", argv[1]) ; - pathexec_run(argv[2], argv+2, envp) ; - strerr_dieexec(111, argv[2]) ; + pathexec_run_or_die(argv[2], argv+2, envp) ; } diff --git a/src/execline/exec.c b/src/execline/exec.c index e35d7ba..d698c6d 100644 --- a/src/execline/exec.c +++ b/src/execline/exec.c @@ -41,8 +41,6 @@ int main (int argc, char const **argv, char const *const *envp) dashed[0] = '-' ; memcpy(dashed+1, argv[0], n+1) ; argv[0] = (char const *)dashed ; - pathexec_run(executable, argv, envp) ; } - else pathexec_run(executable, argv, envp) ; - strerr_dieexec(111, executable) ; + pathexec_run_or_die(executable, argv, envp) ; } diff --git a/src/execline/fdblock.c b/src/execline/fdblock.c index ec68900..2712349 100644 --- a/src/execline/fdblock.c +++ b/src/execline/fdblock.c @@ -29,6 +29,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if ((argc < 2) || !uint0_scan(argv[0], &fd)) strerr_dieusage(100, USAGE) ; if ((block ? ndelay_off(fd) : ndelay_on(fd)) < 0) strerr_diefu1sys(111, block ? "ndelay_off" : "ndelay_on") ; - pathexec_run(argv[1], argv+1, envp) ; - strerr_dieexec(111, argv[1]) ; + pathexec_run_or_die(argv[1], argv+1, envp) ; } diff --git a/src/execline/fdclose.c b/src/execline/fdclose.c index 47780c9..cd361ae 100644 --- a/src/execline/fdclose.c +++ b/src/execline/fdclose.c @@ -12,6 +12,5 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "fdclose" ; if ((argc < 3) || !uint0_scan(argv[1], &fd)) strerr_dieusage(100, USAGE) ; fd_close(fd) ; - pathexec_run(argv[2], argv+2, envp) ; - strerr_dieexec(111, argv[2]) ; + pathexec_run_or_die(argv[2], argv+2, envp) ; } diff --git a/src/execline/fdmove.c b/src/execline/fdmove.c index 6f97b11..a6f4bc5 100644 --- a/src/execline/fdmove.c +++ b/src/execline/fdmove.c @@ -30,6 +30,5 @@ int main (int argc, char const *const *argv, char const *const *envp) strerr_dieusage(100, USAGE) ; if ((flagcopy ? fd_copy(to, from) : fd_move(to, from)) == -1) strerr_diefu4sys(111, "move fd ", argv[1], " to fd ", argv[0]) ; - pathexec_run(argv[2], argv+2, envp) ; - strerr_dieexec(111, argv[2]) ; + pathexec_run_or_die(argv[2], argv+2, envp) ; } diff --git a/src/execline/fdswap.c b/src/execline/fdswap.c index b19494e..2071a9a 100644 --- a/src/execline/fdswap.c +++ b/src/execline/fdswap.c @@ -13,6 +13,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if ((argc < 4) || !uint0_scan(argv[1], &fd1) || !uint0_scan(argv[2], &fd2)) strerr_dieusage(100, USAGE) ; if (fd_move2(fd1, fd2, fd2, fd1) < 0) strerr_diefu1sys(111, "swap fds") ; - pathexec_run(argv[3], argv+3, envp) ; - strerr_dieexec(111, argv[3]) ; + pathexec_run_or_die(argv[3], argv+3, envp) ; } diff --git a/src/execline/forbacktickx.c b/src/execline/forbacktickx.c index b1b49fa..9c088c4 100644 --- a/src/execline/forbacktickx.c +++ b/src/execline/forbacktickx.c @@ -110,7 +110,6 @@ int main (int argc, char const *const *argv, char const *const *envp) } while (argv[i]) newargv[m++] = argv[i++] ; newargv[m++] = 0 ; - pathexec_run(newargv[0], newargv, envp) ; - strerr_dieexec(111, newargv[0]) ; + pathexec_run_or_die(newargv[0], newargv, envp) ; } } diff --git a/src/execline/heredoc.c b/src/execline/heredoc.c index 77e69da..9c624b7 100644 --- a/src/execline/heredoc.c +++ b/src/execline/heredoc.c @@ -55,6 +55,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if (fd_move(fdr, fd[0]) == -1) strerr_diefu2sys(111, "read on fd ", argv[0]) ; } - pathexec_run(argv[2], argv+2, envp) ; - strerr_dieexec(111, argv[2]) ; + pathexec_run_or_die(argv[2], argv+2, envp) ; } diff --git a/src/execline/piperw.c b/src/execline/piperw.c index 8affbde..461f101 100644 --- a/src/execline/piperw.c +++ b/src/execline/piperw.c @@ -24,6 +24,5 @@ int main (int argc, char const *const *argv, char const *const *envp) || (fd_move(fdr, p[0]) == -1) || (fd_move(fdw, p[1]) == -1)) strerr_diefu1sys(111, "move fds") ; - pathexec_run(argv[3], argv+3, envp) ; - strerr_dieexec(111, argv[3]) ; + pathexec_run_or_die(argv[3], argv+3, envp) ; } diff --git a/src/execline/redirfd.c b/src/execline/redirfd.c index 8a5c8ef..f0cb13c 100644 --- a/src/execline/redirfd.c +++ b/src/execline/redirfd.c @@ -64,6 +64,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if (((flags & O_NONBLOCK) ? ndelay_off(fd) : ndelay_on(fd)) < 0) strerr_diefu1sys(111, "change blocking mode") ; } - pathexec_run(argv[2], argv+2, envp) ; - strerr_dieexec(111, argv[2]) ; + pathexec_run_or_die(argv[2], argv+2, envp) ; } diff --git a/src/execline/umask.c b/src/execline/umask.c index ab91b37..866c216 100644 --- a/src/execline/umask.c +++ b/src/execline/umask.c @@ -14,6 +14,5 @@ int main (int argc, char const *const *argv, char const *const *envp) if (argc < 3) strerr_dieusage(100, USAGE) ; if (!uint_oscan(argv[1], &m)) strerr_dieusage(100, USAGE) ; umask(m) ; - pathexec_run(argv[2], argv+2, envp) ; - strerr_dieexec(111, argv[2]) ; + pathexec_run_or_die(argv[2], argv+2, envp) ; } -- 2.1.4
