mirror of
https://git.freebsd.org/ports.git
synced 2025-06-19 11:40:31 -04:00
This function (that returns ID of the tty slot) was removed shortly after utmpx was brought to the base system. Avoid using it in newer FreeBSD versions. ACKed by: thierry@
32 lines
966 B
Text
32 lines
966 B
Text
--- libptytty/src/ptytty.C.orig 2016-07-22 21:10:56.246647000 +0300
|
|
+++ libptytty/src/ptytty.C 2016-07-22 21:33:18.005377000 +0300
|
|
@@ -56,6 +56,11 @@
|
|
# define O_NOCTTY 0
|
|
#endif
|
|
|
|
+/* We need __FreeBSD_version */
|
|
+#if defined(__FreeBSD__)
|
|
+#include <sys/param.h>
|
|
+#endif
|
|
+
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/* ------------------------------------------------------------------------- *
|
|
@@ -395,7 +400,17 @@
|
|
int fd_stdin = dup (STDIN_FILENO);
|
|
dup2 (tty, STDIN_FILENO);
|
|
|
|
+/*
|
|
+ * FreeBSD base@r202219 phased out utmp and moved to utmpx.
|
|
+ * ttyslot() was eliminated slightly after this, in r202274,
|
|
+ * but __FreeBSD_version wasn't bumped then. Such discrepance
|
|
+ * should be harmless since we will lose at most an utmp record.
|
|
+ */
|
|
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900007
|
|
+ utmp_pos = -1;
|
|
+#else
|
|
utmp_pos = ttyslot ();
|
|
+#endif
|
|
|
|
dup2 (fd_stdin, STDIN_FILENO);
|
|
close (fd_stdin);
|