From: Bruno Haible Date: Mon, 31 Jul 2023 20:12:51 +0000 (+0200) Subject: readutmp: Fix test failure on OpenBSD. X-Git-Tag: v1.0~985 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=bfe6cc4f6b3d1befa6092054cf956f8b2d82494e;p=gnulib.git readutmp: Fix test failure on OpenBSD. * lib/readutmp.c (desirable_utmp_entry): On OpenBSD, eliminate entirely empty entries. --- diff --git a/ChangeLog b/ChangeLog index dcd2cc58f2..eefc50dd75 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-07-31 Bruno Haible + + readutmp: Fix test failure on OpenBSD. + * lib/readutmp.c (desirable_utmp_entry): On OpenBSD, eliminate entirely + empty entries. + 2023-07-31 Bruno Haible readutmp: Revisit portability. diff --git a/lib/readutmp.c b/lib/readutmp.c index 82dbe69506..6a5509054e 100644 --- a/lib/readutmp.c +++ b/lib/readutmp.c @@ -76,6 +76,12 @@ desirable_utmp_entry (STRUCT_UTMP const *ut, int options) && 0 < UT_PID (ut) && (kill (UT_PID (ut), 0) < 0 && errno == ESRCH)) return false; +# if defined __OpenBSD__ && !HAVE_UTMPX_H + /* Eliminate entirely empty entries. */ + if (UT_TIME_MEMBER (ut) == 0 && UT_USER (ut)[0] == '\0' + && ut->ut_line[0] == '\0' && ut->ut_host[0] == '\0') + return false; +# endif return true; }