summaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
authortron <tron>2002-05-21 17:57:03 +0000
committertron <tron>2002-05-21 17:57:03 +0000
commit9672c93067b08f1a411cbe76a9d0387afa5ba640 (patch)
treeaa7dafff3827d9c9521ee3318a85bcd2ec3cc161 /misc
parent2fcf204498020c833947fda1681aced23bf201a6 (diff)
downloadpkgsrc-9672c93067b08f1a411cbe76a9d0387afa5ba640.tar.gz
Use openpty(3) to allocate a new pty under NetBSD. This fixes PR pkg/16901
by Bernd Ernesti.
Diffstat (limited to 'misc')
-rw-r--r--misc/screen/Makefile3
-rw-r--r--misc/screen/distinfo3
-rw-r--r--misc/screen/patches/patch-aa52
3 files changed, 55 insertions, 3 deletions
diff --git a/misc/screen/Makefile b/misc/screen/Makefile
index caec8b98526..351596d19a2 100644
--- a/misc/screen/Makefile
+++ b/misc/screen/Makefile
@@ -1,5 +1,4 @@
-# $NetBSD: Makefile,v 1.30 2002/02/18 15:14:34 seb Exp $
-#
+# $NetBSD: Makefile,v 1.31 2002/05/21 17:57:03 tron Exp $
DISTNAME= screen-3.9.11
CATEGORIES= misc
diff --git a/misc/screen/distinfo b/misc/screen/distinfo
index db82b966710..3219551b5e9 100644
--- a/misc/screen/distinfo
+++ b/misc/screen/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.6 2002/02/16 11:18:35 wiz Exp $
+$NetBSD: distinfo,v 1.7 2002/05/21 17:57:04 tron Exp $
SHA1 (screen-3.9.11.tar.gz) = bcf97667f6018e82f566f363f4905d2c7d0c33a6
Size (screen-3.9.11.tar.gz) = 722396 bytes
+SHA1 (patch-aa) = 870701007522e0fff1ea666e9e83e1b55470e258
SHA1 (patch-ab) = 97a465b4eefb0ec0cae3cd077f7c880cf46f3355
SHA1 (patch-ae) = 488f9df708f28ee1411afc48a2239e11ecbf7809
diff --git a/misc/screen/patches/patch-aa b/misc/screen/patches/patch-aa
new file mode 100644
index 00000000000..7f0cef36d8b
--- /dev/null
+++ b/misc/screen/patches/patch-aa
@@ -0,0 +1,52 @@
+$NetBSD: patch-aa,v 1.8 2002/05/21 17:57:04 tron Exp $
+
+--- pty.c.orig Mon Feb 11 13:44:18 2002
++++ pty.c Tue May 21 19:55:36 2002
+@@ -318,6 +318,47 @@
+
+ /***************************************************************/
+
++#if defined(__NetBSD__) && !defined(PTY_DONE)
++#define PTY_DONE
++
++#include <sys/param.h>
++
++#include <string.h>
++#include <util.h>
++
++int
++OpenPTY(ttyn)
++char **ttyn;
++{
++ int m, s, f;
++ char *t;
++
++ do
++ {
++ if (openpty(&m, &s, TtyName, NULL, NULL) < 0)
++ return -1;
++ close(m);
++ close(s);
++
++ strcpy(PtyName, TtyName);
++ t = strrchr(PtyName, '/');
++ if ((t == NULL ) || (*++t != 't'))
++ return -1;
++ *t = 'p';
++
++ f = open(PtyName, O_RDWR | O_NOCTTY);
++ }
++ while (f < 0);
++
++ initmaster(f);
++ *ttyn = TtyName;
++
++ return f;
++}
++#endif
++
++/***************************************************************/
++
+ #ifndef PTY_DONE
+ int
+ OpenPTY(ttyn)