diff src/child.c @ 401:885e3d886199

Various minor refactoring.
author markus schnalke <meillo@marmaro.de>
date Tue, 21 Feb 2012 16:11:00 +0100
parents 0ca270ca11fa
children
line wrap: on
line diff
--- a/src/child.c	Tue Feb 21 15:44:55 2012 +0100
+++ b/src/child.c	Tue Feb 21 16:11:00 2012 +0100
@@ -41,26 +41,28 @@
 		pid = fork();
 		if (pid == -1) {
 			return -1;
+
 		} else if (pid == 0) {
 			/* child */
+			char *argv[] = { "/bin/sh", "-c", (char *)command,
+					NULL };
 			int i, max_fd = sysconf(_SC_OPEN_MAX);
+
 			dup2(pipe[0], 0);
 			dup2(pipe[0], 1);
 			dup2(pipe[0], 2);
 
-			if (max_fd <= 0)
+			if (max_fd <= 0) {
 				max_fd = 64;
-			for (i = 3; i < max_fd; i++)
+			}
+			for (i = 3; i < max_fd; i++) {
 				close(i);
-
-			{
-				char *argv[] = { "/bin/sh", "-c",
-						(char *) command, NULL };
-				execve(*argv, argv, NULL);
 			}
+			execve(*argv, argv, NULL);
 			logwrite(LOG_ALERT, "execve failed: %s\n",
 					strerror(errno));
 			_exit(1);
+
 		} else {
 			/* parent */
 			close(pipe[0]);