aboutsummaryrefslogtreecommitdiff
path: root/ftp/gftp/files/patch-lib::pty.c
diff options
context:
space:
mode:
Diffstat (limited to 'ftp/gftp/files/patch-lib::pty.c')
-rw-r--r--ftp/gftp/files/patch-lib::pty.c35
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... */