diff options
Diffstat (limited to 'ftp/gftp/files/patch-lib::pty.c')
-rw-r--r-- | ftp/gftp/files/patch-lib::pty.c | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/ftp/gftp/files/patch-lib::pty.c b/ftp/gftp/files/patch-lib::pty.c index df2ca279495c..25f7c385ed39 100644 --- a/ftp/gftp/files/patch-lib::pty.c +++ b/ftp/gftp/files/patch-lib::pty.c @@ -1,6 +1,6 @@ ---- lib/pty.c.orig Mon Nov 15 18:09:32 2004 -+++ lib/pty.c Mon Nov 15 18:18:21 2004 -@@ -59,6 +59,57 @@ +--- lib/pty.c.orig 2007-03-13 02:56:43.000000000 +0100 ++++ lib/pty.c 2010-01-17 17:34:25.000000000 +0100 +@@ -59,6 +59,50 @@ return (new_fds); } @@ -8,18 +8,9 @@ + +#ifdef HAVE_PTY_H +#include <pty.h> -+#ifdef HAVE_UTMPX_H -+#include <utmpx.h> -+#else +#include <utmp.h> /* for login_tty */ -+#endif +#elif HAVE_LIBUTIL_H +#include <libutil.h> -+#ifdef HAVE_UTMPX_H -+#include <utmpx.h> -+#else -+#include <utmp.h> /* for login_tty */ -+#endif +#else +extern int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize * winp); +extern int login_tty(int fd); @@ -49,21 +40,21 @@ +static int +_gftp_ptys_open (int fdm, int fds, char *pts_name) +{ -+ if (login_tty (fds) < 0) ++ if (login_tty (fds) < 0) { ++ close(fds); + return (GFTP_EFATAL); ++ } + + return (fds); +} + #elif HAVE_GRANTPT - #include <stropts.h> -@@ -123,49 +166,6 @@ - #endif - + #if !(defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__)) +@@ -131,49 +192,6 @@ return (new_fds); --} -- + } + -#elif HAVE_OPENPTY - -#ifdef HAVE_PTY_H @@ -105,6 +96,8 @@ - return (GFTP_EFATAL); - - return (fds); - } - +-} +- #else + + /* Fall back to *BSD... */ |