+2023-08-14 Bruno Haible <bruno@clisp.org>
+
+ readutmp, boot-time: Don't use __UT_* symbols (regression 2023-08-11).
+ * lib/readutmp.h (_GL_UT_USER_SIZE, _GL_UT_ID_SIZE, _GL_UT_LINE_SIZE,
+ _GL_UT_HOST_SIZE): New macros.
+ (struct utmpx32): Use them.
+
2023-08-14 Bruno Haible <bruno@clisp.org>
readutmp, boot-time: Fix build on 32-bit glibc (regression 2023-08-11).
/* This is a near-copy of glibc's struct utmpx, which stops working
after the year 2038. Unlike the glibc version, struct utmpx32
describes the file format even if time_t is 64 bits. */
+#define _GL_UT_USER_SIZE sizeof (((struct utmpx *) 0)->ut_user)
+#define _GL_UT_ID_SIZE sizeof (((struct utmpx *) 0)->ut_id)
+#define _GL_UT_LINE_SIZE sizeof (((struct utmpx *) 0)->ut_line)
+#define _GL_UT_HOST_SIZE sizeof (((struct utmpx *) 0)->ut_host)
struct utmpx32
{
short int ut_type; /* Type of login. */
pid_t ut_pid; /* Process ID of login process. */
- char ut_line[__UT_LINESIZE]; /* Devicename. */
- char ut_id[4]; /* Inittab ID. */
- char ut_user[__UT_NAMESIZE]; /* Username. */
- char ut_host[__UT_HOSTSIZE]; /* Hostname for remote login. */
+ char ut_line[_GL_UT_LINE_SIZE]; /* Devicename. */
+ char ut_id[_GL_UT_ID_SIZE]; /* Inittab ID. */
+ char ut_user[_GL_UT_USER_SIZE]; /* Username. */
+ char ut_host[_GL_UT_HOST_SIZE]; /* Hostname for remote login. */
struct __exit_status ut_exit; /* Exit status of a process marked
as DEAD_PROCESS. */
/* The fields ut_session and ut_tv must be the same size when compiled