# HG changeset patch # User markus schnalke # Date 1329583984 -3600 # Node ID 0ca270ca11faee70f8b88a368d222e41ee0bd489 # Parent 68ae9182059c21fb4a1c5429e37e984c559e8538 Refactoring and code layouting. diff -r 68ae9182059c -r 0ca270ca11fa src/child.c --- a/src/child.c Sat Feb 18 13:50:02 2012 +0100 +++ b/src/child.c Sat Feb 18 17:53:04 2012 +0100 @@ -39,9 +39,11 @@ pid_t pid; pid = fork(); - if (pid == 0) { + if (pid == -1) { + return -1; + } else if (pid == 0) { + /* child */ int i, max_fd = sysconf(_SC_OPEN_MAX); - /* child */ dup2(pipe[0], 0); dup2(pipe[0], 1); dup2(pipe[0], 2); @@ -52,14 +54,15 @@ close(i); { - char *argv[] = { "/bin/sh", "-c", (char *) command, NULL }; + char *argv[] = { "/bin/sh", "-c", + (char *) command, NULL }; execve(*argv, argv, NULL); } - logwrite(LOG_ALERT, "execve failed: %s\n", strerror(errno)); + logwrite(LOG_ALERT, "execve failed: %s\n", + strerror(errno)); _exit(1); - } else if (pid == -1) { - return -1; } else { + /* parent */ close(pipe[0]); return pipe[1]; }