shithub: scc

Download patch

ref: f7ba49e4d1a750def40120fd78add0eda158d723
parent: 60e2f95ebabb259c85515101a52aca843490fbc2
author: Quentin Rameau <[email protected]>
date: Tue Feb 2 12:37:11 EST 2016

Explicitly use stdout/stdin for pipe communication

--- a/driver/posix/scc.c
+++ b/driver/posix/scc.c
@@ -41,8 +41,7 @@
 		perror("scc:cc1");
 		exit(1);
 	case 0:
-		close(1);
-		dup(fd);
+		dup2(fd, 1);
 		fmt = (arch) ? "%s/libexec/scc/cc1-%s" : "%s/libexec/scc/cc1";
 		r = snprintf(cmd, sizeof(cmd), fmt, PREFIX, arch);
 		if (r == sizeof(cmd)) {
@@ -71,8 +70,7 @@
 		perror("scc:cc2");
 		exit(1);
 	case 0:
-		close(0);
-		dup(fd);
+		dup2(fd, 0);
 		fmt = (arch) ? "%s/libexec/scc/cc2-%s" : "%s/libexec/scc/cc2";
 		r = snprintf(cmd, sizeof(cmd), fmt, PREFIX, arch);
 		if (r == sizeof(cmd)) {