aboutsummaryrefslogtreecommitdiff
path: root/x11/XFree86-4-libraries
diff options
context:
space:
mode:
authorDejan Lesjak <lesi@FreeBSD.org>2005-01-14 23:42:45 +0000
committerDejan Lesjak <lesi@FreeBSD.org>2005-01-14 23:42:45 +0000
commit8241a6c2c0a2ae328a861e5c1acb885aa0d12f20 (patch)
tree9d44e09d1ca81a9756eafe3a5e66b3e17a7062c9 /x11/XFree86-4-libraries
parent15f76bf509830ff663eb54b24d59e05d410c0a3c (diff)
downloadports-8241a6c2c0a2ae328a861e5c1acb885aa0d12f20.tar.gz
ports-8241a6c2c0a2ae328a861e5c1acb885aa0d12f20.zip
Notes
Diffstat (limited to 'x11/XFree86-4-libraries')
-rw-r--r--x11/XFree86-4-libraries/files/patch-luit93
1 files changed, 79 insertions, 14 deletions
diff --git a/x11/XFree86-4-libraries/files/patch-luit b/x11/XFree86-4-libraries/files/patch-luit
index 4e7dbece425a..a5e858bc67f2 100644
--- a/x11/XFree86-4-libraries/files/patch-luit
+++ b/x11/XFree86-4-libraries/files/patch-luit
@@ -1,14 +1,79 @@
---- programs/luit/luit.c.orig Thu Apr 8 05:14:16 2004
-+++ programs/luit/luit.c Thu Apr 8 05:20:18 2004
-@@ -545,9 +545,11 @@
- #endif
- installHandler(SIGCHLD, sigchldHandler);
-
-+/* Disabled, appears to break luit.
- rc = copyTermios(0, pty);
- if(rc < 0)
- FatalError("Couldn't copy terminal settings\n");
-+*/
-
- rc = setRawTermios();
- if(rc < 0)
+--- programs/luit/luit.c Fri Mar 5 01:48:51 2004
++++ /tmp/luit/luit.c Sun Jul 18 09:01:22 2004
+@@ -45,6 +45,8 @@
+ #include "charset.h"
+ #include "iso2022.h"
+
++static int p2c_waitpipe[2];
++static int c2p_waitpipe[2];
+ static Iso2022Ptr inputState = NULL, outputState = NULL;
+
+ static char *child_argv0 = NULL;
+@@ -462,6 +464,8 @@
+ exit(1);
+ }
+
++ pipe(p2c_waitpipe);
++ pipe(c2p_waitpipe);
+ pid = fork();
+ if(pid < 0) {
+ perror("Couldn't fork");
+@@ -470,8 +474,12 @@
+
+ if(pid == 0) {
+ close(pty);
++ close(p2c_waitpipe[1]);
++ close(c2p_waitpipe[0]);
+ child(line, path, child_argv);
+ } else {
++ close(p2c_waitpipe[0]);
++ close(c2p_waitpipe[1]);
+ free(child_argv);
+ free(path);
+ free(line);
+@@ -486,6 +494,7 @@
+ {
+ int tty;
+ int pgrp;
++ char tmp[10];
+
+ close(0);
+ close(1);
+@@ -501,6 +510,7 @@
+ kill(getppid(), SIGABRT);
+ exit(1);
+ }
++ write(c2p_waitpipe[1],"1",1);
+
+ if(tty != 0)
+ dup2(tty, 0);
+@@ -512,6 +522,9 @@
+ if(tty > 2)
+ close(tty);
+
++ read(p2c_waitpipe[0],tmp,1);
++ close(c2p_waitpipe[1]);
++ close(p2c_waitpipe[0]);
+ execvp(path, argv);
+ perror("Couldn't exec");
+ exit(1);
+@@ -535,7 +548,9 @@
+ int i;
+ int val;
+ int rc;
++ char tmp[10];
+
++ read(c2p_waitpipe[0],tmp,1);
+ if(verbose) {
+ reportIso2022(outputState);
+ }
+@@ -564,6 +579,9 @@
+
+ setWindowSize(0, pty);
+
++ write(p2c_waitpipe[1],"1",1);
++ close(c2p_waitpipe[0]);
++ close(p2c_waitpipe[1]);
+ for(;;) {
+ rc = waitForInput(0, pty);
+