]> Savannah Git Hosting - gnulib.git/commitdiff
readutmp: Fix for platforms without ut_type (regression 2023-08-08).
authorBruno Haible <bruno@clisp.org>
Tue, 15 Aug 2023 10:58:14 +0000 (12:58 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 15 Aug 2023 10:58:14 +0000 (12:58 +0200)
* lib/readutmp.h (UT_TYPE_BOOT_TIME, UT_TYPE_USER_PROCESS): Don't use
UT_TYPE_EQ macro.
(IS_USER_PROCESS): Don't use UT_USER, UT_TYPE_NOT_DEFINED macros.
* lib/readutmp.c (IS_USER_PROCESS): Don't override.

ChangeLog
lib/readutmp.c
lib/readutmp.h

index f386e9a579633351996d6486a22391de3a655e47..f71a982cd245dc859915bc418541ef7924200e79 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2023-08-15  Bruno Haible  <bruno@clisp.org>
+
+       readutmp: Fix for platforms without ut_type (regression 2023-08-08).
+       * lib/readutmp.h (UT_TYPE_BOOT_TIME, UT_TYPE_USER_PROCESS): Don't use
+       UT_TYPE_EQ macro.
+       (IS_USER_PROCESS): Don't use UT_USER, UT_TYPE_NOT_DEFINED macros.
+       * lib/readutmp.c (IS_USER_PROCESS): Don't override.
+
 2023-08-14  Bruno Haible  <bruno@clisp.org>
 
        readutmp, boot-time: Don't use __UT_* symbols (regression 2023-08-11).
index 7967db60a8540a21885d0ae940437383b5ccf9c4..0173b7e0c127766761a03490fbfb439a56f98c78 100644 (file)
@@ -67,7 +67,6 @@
 #undef UT_PID
 #undef UT_TYPE_EQ
 #undef UT_TYPE_NOT_DEFINED
-#undef IS_USER_PROCESS
 #undef UT_EXIT_E_TERMINATION
 #undef UT_EXIT_E_EXIT
 
 # define UT_TYPE_NOT_DEFINED 1
 #endif
 
-/* Determines whether an entry *UT corresponds to a user process.  */
-#define IS_USER_PROCESS(UT)                                    \
-  ((UT)->ut_user[0]                                            \
-   && (UT_TYPE_USER_PROCESS (UT)                               \
-       || (UT_TYPE_NOT_DEFINED && (UT)->ut_ts.tv_sec != 0)))
-
 #if HAVE_UTMPX_H
 # if HAVE_STRUCT_UTMPX_UT_EXIT_E_TERMINATION
 #  define UT_EXIT_E_TERMINATION(UT) ((UT)->ut_exit.e_termination)
index 3ddecf3727228974e28ad5d760fa63d809ecf045..fa30fa9a00437fed1d20b6f10ab7b6b05e811f14 100644 (file)
@@ -270,21 +270,19 @@ struct utmpx32
 
 /* Macros that test (UT)->ut_type.  */
 #ifdef BOOT_TIME
-# define UT_TYPE_BOOT_TIME(UT) UT_TYPE_EQ (UT, BOOT_TIME)
+# define UT_TYPE_BOOT_TIME(UT) ((UT)->ut_type == BOOT_TIME)
 #else
 # define UT_TYPE_BOOT_TIME(UT) 0
 #endif
 #ifdef USER_PROCESS
-# define UT_TYPE_USER_PROCESS(UT) UT_TYPE_EQ (UT, USER_PROCESS)
+# define UT_TYPE_USER_PROCESS(UT) ((UT)->ut_type == USER_PROCESS)
 #else
 # define UT_TYPE_USER_PROCESS(UT) 0
 #endif
 
 /* Determines whether an entry *UT corresponds to a user process.  */
 #define IS_USER_PROCESS(UT)                                    \
-  (UT_USER (UT)[0]                                             \
-   && (UT_TYPE_USER_PROCESS (UT)                               \
-       || (UT_TYPE_NOT_DEFINED && UT_TIME_MEMBER (UT) != 0)))
+  ((UT)->ut_user[0] && UT_TYPE_USER_PROCESS (UT))
 
 /* Define if read_utmp is not just a dummy.  */
 #if READUTMP_USE_SYSTEMD || HAVE_UTMPX_H || HAVE_UTMP_H || defined __CYGWIN__ || defined _WIN32