commit:     47e4bfae57402eedd017d6098b432c2c411cd374
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Tue Jun 19 18:59:16 2018 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Tue Jun 19 18:59:16 2018 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=47e4bfae

fix gcc 7 warnings in pipe routines

 src/rc/rc-pipes.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/src/rc/rc-pipes.c b/src/rc/rc-pipes.c
index 2d7b623e..70fefa80 100644
--- a/src/rc/rc-pipes.c
+++ b/src/rc/rc-pipes.c
@@ -37,21 +37,20 @@ int rc_pipe_command(char *cmd)
                return -1;
 
        pid = fork();
-       if (pid < 0)
-               return -1;
-       else if (pid > 0) {
+       if (pid > 0) {
                /* parent */
-               close(pfd[0]);
+               close(pfd[pipe_read_end]);
                return pfd[pipe_write_end];
        } else if (pid == 0) {
                /* child */
                close(pfd[pipe_write_end]);
-               if (pfd[0] != STDIN_FILENO) {
-                       if (dup2(pfd[0], STDIN_FILENO) < 0)
+               if (pfd[pipe_read_end] != STDIN_FILENO) {
+                       if (dup2(pfd[pipe_read_end], STDIN_FILENO) < 0)
                                exit(1);
-                       close(pfd[0]);
+                       close(pfd[pipe_read_end]);
                }
                execl("/bin/sh", "sh", "-c", cmd, NULL);
                exit(1);
        }
+       return -1;
 }

Reply via email to