diff options
author | Oliver Lehmann <oliver@FreeBSD.org> | 2004-11-15 17:21:52 +0000 |
---|---|---|
committer | Oliver Lehmann <oliver@FreeBSD.org> | 2004-11-15 17:21:52 +0000 |
commit | c21f0bf63322814b7be1057b3b1effbc1beabf3c (patch) | |
tree | 25a80e98e4faafcc78ac2b037386d5c1e6f6f1a3 /ftp/gftp | |
parent | 5160c571daf13961e9f27b09aae3ecd01ab5501b (diff) | |
download | ports-c21f0bf63322814b7be1057b3b1effbc1beabf3c.tar.gz ports-c21f0bf63322814b7be1057b3b1effbc1beabf3c.zip |
Notes
Diffstat (limited to 'ftp/gftp')
-rw-r--r-- | ftp/gftp/Makefile | 2 | ||||
-rw-r--r-- | ftp/gftp/files/patch-lib::pty.c | 113 |
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 |