summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnustep-apps/terminal/files/terminal-0.9.5_pre20060324-solaris.patch')
-rw-r--r--gnustep-apps/terminal/files/terminal-0.9.5_pre20060324-solaris.patch120
1 files changed, 0 insertions, 120 deletions
diff --git a/gnustep-apps/terminal/files/terminal-0.9.5_pre20060324-solaris.patch b/gnustep-apps/terminal/files/terminal-0.9.5_pre20060324-solaris.patch
deleted file mode 100644
index 678205859a96..000000000000
--- a/gnustep-apps/terminal/files/terminal-0.9.5_pre20060324-solaris.patch
+++ /dev/null
@@ -1,120 +0,0 @@
---- GNUmakefile
-+++ GNUmakefile
-@@ -44,7 +44,10 @@
- \
- Label.m
-
--Terminal_LDFLAGS = -lutil
-+ifeq ($(findstring gnu, $(GNUSTEP_TARGET_OS)), gnu)
-+ # for forkpty on Linux
-+ Terminal_LDFLAGS = -lutil
-+endif
-
- Terminal_LOCALIZED_RESOURCE_FILES = Localizable.strings
- Terminal_LANGUAGES = English Swedish German French Spanish Hungarian Turkish \
---- TerminalView.m
-+++ TerminalView.m
-@@ -38,9 +38,11 @@
- #include <fcntl.h>
- #ifndef freebsd
- #ifndef __NetBSD__
-+#if !defined(solaris2)
- # include <pty.h>
- #endif
- #endif
-+#endif
-
- #include <Foundation/NSBundle.h>
- #include <Foundation/NSDebug.h>
-@@ -1692,6 +1692,91 @@
- master_fd=-1;
- }
-
-+#if defined(solaris2)
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <sys/ioctl.h>
-+#include <sys/stream.h>
-+#include <sys/stropts.h>
-+#include <sys/syscall.h>
-+#include <stdio.h>
-+#include <errno.h>
-+
-+#define forkpty my_forkpty
-+
-+/**
-+ * fork_pty() remplacement for Solaris, it ignores the last two
-+ * arguments for the moment.
-+ * http://bugs.mysql.com/bug.php?id=22429
-+ */
-+static int my_forkpty (int *amaster,
-+ char *name,
-+ void *unused1,
-+ void *unused2)
-+{
-+ int master, slave;
-+ char *slave_name;
-+ pid_t pid;
-+
-+ master = open("/dev/ptmx", O_RDWR);
-+ if (master < 0)
-+ return -1;
-+
-+ if (grantpt(master) < 0) {
-+ close (master);
-+ return -1;
-+ }
-+
-+ if (unlockpt(master) < 0) {
-+ close (master);
-+ return -1;
-+ }
-+
-+ slave_name = ptsname(master);
-+ if (slave_name == NULL) {
-+ close (master);
-+ return -1;
-+ }
-+
-+ slave = open(slave_name, O_RDWR);
-+ if (slave < 0) {
-+ close (master);
-+ return -1;
-+ }
-+
-+ if (ioctl(slave, I_PUSH, "ptem") < 0 ||
-+ ioctl(slave, I_PUSH, "ldterm") < 0)
-+ {
-+ close (slave);
-+ close (master);
-+ return -1;
-+ }
-+
-+ if (amaster)
-+ *amaster = master;
-+
-+ if (name)
-+ strcpy (name, slave_name);
-+
-+ pid = fork();
-+ switch (pid) {
-+ case -1: /* Error */
-+ return -1;
-+ case 0: /* Child */
-+ close(master);
-+ dup2(slave, STDIN_FILENO);
-+ dup2(slave, STDOUT_FILENO);
-+ dup2(slave, STDERR_FILENO);
-+ return 0;
-+ default: /* Parent */
-+ close (slave);
-+ return pid;
-+ }
-+
-+ return -1;
-+}
-+#endif
-
- -(void) runProgram: (NSString *)path
- withArguments: (NSArray *)args