diff options
author | tron <tron@pkgsrc.org> | 2002-05-21 17:57:03 +0000 |
---|---|---|
committer | tron <tron@pkgsrc.org> | 2002-05-21 17:57:03 +0000 |
commit | 7c58683c081f519e853739bb70771df59a5fa009 (patch) | |
tree | aa7dafff3827d9c9521ee3318a85bcd2ec3cc161 | |
parent | d8edd40cfacb4f1b3b0092cae1acb550869774f3 (diff) | |
download | pkgsrc-7c58683c081f519e853739bb70771df59a5fa009.tar.gz |
Use openpty(3) to allocate a new pty under NetBSD. This fixes PR pkg/16901
by Bernd Ernesti.
-rw-r--r-- | misc/screen/Makefile | 3 | ||||
-rw-r--r-- | misc/screen/distinfo | 3 | ||||
-rw-r--r-- | misc/screen/patches/patch-aa | 52 |
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) |