Correctly identify utmpx support in FreeBSD.

- FreeBSD's utmpx is incorrectly identified in ./configure.
- Because of the falsely identified utmpx support in the ./configure
  script, a previously applied patch, which didn't work, is no longer
  needed.

PR:		241530
Reported by:	Henry David Bartholomew <PopularMoment@protonmail.com>
		Daniel Drinnon <ddrinnon@cdor.net>
This commit is contained in:
Cy Schubert 2019-10-29 04:23:50 +00:00
parent 16d12e00c3
commit 2fd1af8b15
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=515953
3 changed files with 31 additions and 29 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= screen
PORTVERSION= 4.7.0
PORTREVISION= 3
PORTREVISION= 4
CATEGORIES= sysutils
MASTER_SITES= GNU \
ftp://ftp.gnu.org/gnu/screen/ \

View File

@ -1,5 +1,5 @@
--- configure.orig 2019-10-01 15:27:14.000000000 -0700
+++ configure 2019-10-08 04:39:00.284009000 -0700
+++ configure 2019-10-27 23:29:24.744163000 -0700
@@ -4756,63 +4756,6 @@
else
@ -123,8 +123,12 @@
# Check whether --with-pty-mode was given.
@@ -5318,6 +5251,8 @@
#if defined(SVR4) && !defined(DGUX)
@@ -5315,9 +5248,11 @@
#include <time.h> /* to get time_t on SCO */
#include <sys/types.h>
-#if defined(SVR4) && !defined(DGUX)
+#if (defined(SVR4) && !defined(DGUX)) || defined(__FreeBSD_cc_version)
#include <utmpx.h>
#define utmp utmpx
+#define pututline pututxline
@ -132,8 +136,21 @@
#else
#include <utmp.h>
#endif
@@ -5386,6 +5321,10 @@
#if defined(SVR4) && !defined(DGUX)
@@ -5346,7 +5281,7 @@
#include <time.h>
#include <sys/types.h>
-#if defined(SVR4) && !defined(DGUX)
+#if (defined(SVR4) && !defined(DGUX)) || defined(__FreeBSD_cc_version)
#include <utmpx.h>
#define utmp utmpx
#else
@@ -5383,9 +5318,13 @@
#include <time.h>
#include <sys/types.h>
-#if defined(SVR4) && !defined(DGUX)
+#if (defined(SVR4) && !defined(DGUX)) || defined(__FreeBSD_cc_version)
#include <utmpx.h>
#define utmp utmpx
+#define pututline pututxline

View File

@ -1,6 +1,6 @@
--- utmp.c.orig 2019-10-01 15:08:00.000000000 -0700
+++ utmp.c 2019-10-08 17:56:32.853627000 -0700
@@ -26,9 +26,13 @@
--- utmp.c.orig 2017-01-17 11:28:29.397404660 -0800
+++ utmp.c 2017-02-10 16:48:34.902236000 -0800
@@ -26,6 +26,7 @@
****************************************************************
*/
@ -8,22 +8,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#ifdef __FreeBSD_version
+#define GETUTENT
+#endif
#include "config.h"
#include "screen.h"
@@ -102,7 +106,7 @@
static int utmpok;
static char UtmpName[] = UTMPFILE;
-#ifndef UTMP_HELPER
+#if !defined(UTMP_HELPER) || defined(__FreeBSD__)
static int utmpfd = -1;
#endif
@@ -409,12 +413,6 @@
@@ -409,12 +410,6 @@
register slot_t slot;
struct utmp u;
int saved_ut;
@ -36,7 +21,7 @@
wi->w_slot = (slot_t)0;
if (!utmpok || wi->w_type != W_TYPE_PTY)
@@ -435,51 +433,13 @@
@@ -435,51 +430,13 @@
makeuser(&u, stripdev(wi->w_tty), LoginName, wi->w_pid);
#ifdef UTHOST
@ -91,7 +76,7 @@
{
Msg(errno,"Could not write %s", UtmpName);
UT_CLOSE;
@@ -598,7 +558,7 @@
@@ -598,7 +555,7 @@
struct utmp *u;
{
u->ut_type = DEAD_PROCESS;
@ -100,7 +85,7 @@
u->ut_exit.e_termination = 0;
u->ut_exit.e_exit = 0;
#endif
@@ -631,7 +591,11 @@
@@ -631,7 +588,11 @@
/* must use temp variable because of NetBSD/sparc64, where
* ut_xtime is long(64) but time_t is int(32) */
(void)time(&now);
@ -113,7 +98,7 @@
}
static slot_t
@@ -743,7 +707,11 @@
@@ -743,7 +704,11 @@
strncpy(u->ut_line, line, sizeof(u->ut_line));
strncpy(u->ut_name, user, sizeof(u->ut_name));
(void)time(&now);