diff options
author | rea <rea@FreeBSD.org> | 2016-07-24 11:42:25 +0800 |
---|---|---|
committer | rea <rea@FreeBSD.org> | 2016-07-24 11:42:25 +0800 |
commit | 4e0aec0f78729b6ad4f43691c3ca4bdaf92b0bd1 (patch) | |
tree | 7b58d25829657b65bc6370967a88979798f61758 | |
parent | 9692a153aa308b08ee99a99af6deaa5518632500 (diff) | |
download | freebsd-ports-gnome-4e0aec0f78729b6ad4f43691c3ca4bdaf92b0bd1.tar.gz freebsd-ports-gnome-4e0aec0f78729b6ad4f43691c3ca4bdaf92b0bd1.tar.zst freebsd-ports-gnome-4e0aec0f78729b6ad4f43691c3ca4bdaf92b0bd1.zip |
x11/xrvt-unicode: chase removal of ttyslot() in base
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@
-rw-r--r-- | x11/rxvt-unicode/files/patch-chase-ttyslot-removal | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/x11/rxvt-unicode/files/patch-chase-ttyslot-removal b/x11/rxvt-unicode/files/patch-chase-ttyslot-removal new file mode 100644 index 000000000000..9e44bc989051 --- /dev/null +++ b/x11/rxvt-unicode/files/patch-chase-ttyslot-removal @@ -0,0 +1,32 @@ +--- 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); |