aboutsummaryrefslogtreecommitdiff
path: root/ftp/gftp
diff options
context:
space:
mode:
authorOliver Lehmann <oliver@FreeBSD.org>2004-11-15 17:21:52 +0000
committerOliver Lehmann <oliver@FreeBSD.org>2004-11-15 17:21:52 +0000
commitc21f0bf63322814b7be1057b3b1effbc1beabf3c (patch)
tree25a80e98e4faafcc78ac2b037386d5c1e6f6f1a3 /ftp/gftp
parent5160c571daf13961e9f27b09aae3ecd01ab5501b (diff)
downloadports-c21f0bf63322814b7be1057b3b1effbc1beabf3c.tar.gz
ports-c21f0bf63322814b7be1057b3b1effbc1beabf3c.zip
Notes
Diffstat (limited to 'ftp/gftp')
-rw-r--r--ftp/gftp/Makefile2
-rw-r--r--ftp/gftp/files/patch-lib::pty.c113
2 files changed, 114 insertions, 1 deletions
diff --git a/ftp/gftp/Makefile b/ftp/gftp/Makefile
index f98b86d11bbc..66d1e74080e9 100644
--- a/ftp/gftp/Makefile
+++ b/ftp/gftp/Makefile
@@ -7,7 +7,7 @@
PORTNAME= gftp
PORTVERSION= 2.0.18.r1
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= ftp
MASTER_SITES= http://gftp.seul.org/ \
ftp://gftp.seul.org/pub/gftp/
diff --git a/ftp/gftp/files/patch-lib::pty.c b/ftp/gftp/files/patch-lib::pty.c
new file mode 100644
index 000000000000..f7c16d130878
--- /dev/null
+++ b/ftp/gftp/files/patch-lib::pty.c
@@ -0,0 +1,113 @@
+--- lib/pty.c.orig Mon Nov 15 18:09:32 2004
++++ lib/pty.c Mon Nov 15 18:18:21 2004
+@@ -59,6 +59,49 @@
+ return (new_fds);
+ }
+
++#elif HAVE_OPENPTY
++
++#ifdef HAVE_PTY_H
++#include <pty.h>
++#include <utmp.h> /* for login_tty */
++#elif HAVE_LIBUTIL_H
++#include <libutil.h>
++#include <utmp.h> /* for login_tty */
++#else
++extern int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize * winp);
++extern int login_tty(int fd);
++#endif
++
++char *
++gftp_get_pty_impl (void)
++{
++ return ("openpty");
++}
++
++
++static int
++_gftp_ptym_open (char *pts_name, size_t len, int *fds)
++{
++ int fdm;
++
++ if (openpty (&fdm, fds, pts_name, NULL, NULL) < 0)
++ return (GFTP_ERETRYABLE);
++
++ ioctl (*fds, TIOCSCTTY, NULL);
++
++ return (fdm);
++}
++
++
++static int
++_gftp_ptys_open (int fdm, int fds, char *pts_name)
++{
++ if (login_tty (fds) < 0)
++ return (GFTP_EFATAL);
++
++ return (fds);
++}
++
+ #elif HAVE_GRANTPT
+
+ #include <stropts.h>
+@@ -78,8 +121,8 @@
+
+ if ((fdm = open ("/dev/ptmx", O_RDWR)) < 0)
+ return (GFTP_ERETRYABLE);
+-
+- if (grantpt (fdm) < 0)
++
++ if (grantpt (fdm) < 0)
+ {
+ close (fdm);
+ return (GFTP_ERETRYABLE);
+@@ -123,49 +166,6 @@
+ #endif
+
+ return (new_fds);
+-}
+-
+-#elif HAVE_OPENPTY
+-
+-#ifdef HAVE_PTY_H
+-#include <pty.h>
+-#include <utmp.h> /* for login_tty */
+-#elif HAVE_LIBUTIL_H
+-#include <libutil.h>
+-#include <utmp.h> /* for login_tty */
+-#else
+-extern int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize * winp);
+-extern int login_tty(int fd);
+-#endif
+-
+-char *
+-gftp_get_pty_impl (void)
+-{
+- return ("openpty");
+-}
+-
+-
+-static int
+-_gftp_ptym_open (char *pts_name, size_t len, int *fds)
+-{
+- int fdm;
+-
+- if (openpty (&fdm, fds, pts_name, NULL, NULL) < 0)
+- return (GFTP_ERETRYABLE);
+-
+- ioctl (*fds, TIOCSCTTY, NULL);
+-
+- return (fdm);
+-}
+-
+-
+-static int
+-_gftp_ptys_open (int fdm, int fds, char *pts_name)
+-{
+- if (login_tty (fds) < 0)
+- return (GFTP_EFATAL);
+-
+- return (fds);
+ }
+
+ #else