From b4c2a79743ad8f5195969bd8d73db3ee194a805c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 11 Aug 2006 20:30:38 +0000 Subject: [PATCH] * lib/subpipe.c (create_subpipe): Use new gnulib pipe_safer function, since it simplifies our code a bit. --- lib/subpipe.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/lib/subpipe.c b/lib/subpipe.c index 646aa8ec..a6764d37 100644 --- a/lib/subpipe.c +++ b/lib/subpipe.c @@ -113,19 +113,15 @@ create_subpipe (char const * const *argv, int fd[2]) int child_fd[2]; pid_t pid; - if (pipe (child_fd) != 0 - || (child_fd[0] = fd_safer (child_fd[0])) < 0 - || (fd[0] = fd_safer (child_fd[1])) < 0 - || pipe (pipe_fd) != 0 - || (fd[1] = fd_safer (pipe_fd[0])) < 0 - || (child_fd[1] = fd_safer (pipe_fd[1])) < 0) - error (EXIT_FAILURE, errno, - "pipe"); + if (pipe_safer (child_fd) != 0 || pipe_safer (pipe_fd) != 0) + error (EXIT_FAILURE, errno, "pipe"); + fd[0] = child_fd[1]; + fd[1] = pipe_fd[0]; + child_fd[1] = pipe_fd[1]; pid = vfork (); if (pid < 0) - error (EXIT_FAILURE, errno, - "fork"); + error (EXIT_FAILURE, errno, "fork"); if (! pid) { @@ -160,8 +156,7 @@ reap_subpipe (pid_t pid, char const *program) #if HAVE_WAITPID || defined waitpid int wstatus; if (waitpid (pid, &wstatus, 0) < 0) - error (EXIT_FAILURE, errno, - "waitpid"); + error (EXIT_FAILURE, errno, "waitpid"); else { int status = WIFEXITED (wstatus) ? WEXITSTATUS (wstatus) : -1; -- 2.45.2