]> Savannah Git Hosting - gnulib.git/commitdiff
readutmp: Fix test failure on OpenBSD.
authorBruno Haible <bruno@clisp.org>
Mon, 31 Jul 2023 20:12:51 +0000 (22:12 +0200)
committerBruno Haible <bruno@clisp.org>
Mon, 31 Jul 2023 20:12:51 +0000 (22:12 +0200)
* lib/readutmp.c (desirable_utmp_entry): On OpenBSD, eliminate entirely
empty entries.

ChangeLog
lib/readutmp.c

index dcd2cc58f2d5c69c1d5628446ef15e08fd1f31cb..eefc50dd75a3d306ab043bc010b37f6d83e795a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2023-07-31  Bruno Haible  <bruno@clisp.org>
+
+       readutmp: Fix test failure on OpenBSD.
+       * lib/readutmp.c (desirable_utmp_entry): On OpenBSD, eliminate entirely
+       empty entries.
+
 2023-07-31  Bruno Haible  <bruno@clisp.org>
 
        readutmp: Revisit portability.
index 82dbe69506d0095f97871c7377517aead99a4a53..6a5509054e001fef98af840cc40d6fed00aefc41 100644 (file)
@@ -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;
 }