From 711de34e8fa42bd9ec704cc922db937edada84d8 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 22 Jul 2022 01:35:14 +0200 Subject: [PATCH] Avoid redefined warnings when buiding with utmps Do not use _PATH_UTMP or _PATH_WTMP, and do not touch the files directly. --- include/libbb.h | 8 +++----- libbb/messages.c | 4 ++-- libbb/utmp.c | 8 ++++---- util-linux/last_fancy.c | 2 +- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/include/libbb.h b/include/libbb.h index abbc9ac59..405108b17 100644 --- a/include/libbb.h +++ b/include/libbb.h @@ -107,14 +107,12 @@ # define _PATH_UTMPX _PATH_UTMP # else # if !defined(__FreeBSD__) -# include +# include +# define _CORRECT_PATH_UTMPX "/run/utmps/utmp" +# define _CORRECT_PATH_WTMP "/var/log/wtmp" # else # define _PATH_UTMPX "/var/run/utx.active" # endif -# include -# if defined _PATH_UTMP && !defined _PATH_UTMPX -# define _PATH_UTMPX _PATH_UTMP -# endif # endif #endif #if ENABLE_LOCALE_SUPPORT diff --git a/libbb/messages.c b/libbb/messages.c index 6914d5701..689dd0c6d 100644 --- a/libbb/messages.c +++ b/libbb/messages.c @@ -42,8 +42,8 @@ const int const_int_0 = 0; #if ENABLE_FEATURE_WTMP /* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */ const char bb_path_wtmp_file[] ALIGN1 = -# if defined _PATH_WTMP - _PATH_WTMP; +# if defined _CORRECT_PATH_WTMP + _CORRECT_PATH_WTMP; # elif defined WTMP_FILE WTMP_FILE; # else diff --git a/libbb/utmp.c b/libbb/utmp.c index bd07670db..463ee1317 100644 --- a/libbb/utmp.c +++ b/libbb/utmp.c @@ -45,8 +45,8 @@ void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, con tty_name += 3; strncpy(id, tty_name, width); - touch(_PATH_UTMPX); - //utmpxname(_PATH_UTMPX); + //touch(_CORRECT_PATH_UTMPX); + //utmpxname(_CORRECT_PATH_UTMPX); setutxent(); /* Append new one (hopefully, unless we collide on ut_id) */ pututxline(&utent); @@ -67,8 +67,8 @@ void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const struct utmpx utent; struct utmpx *utp; - touch(_PATH_UTMPX); - //utmpxname(_PATH_UTMPX); + //touch(_CORRECT_PATH_UTMPX); + //utmpxname(_CORRECT_PATH_UTMPX); setutxent(); /* Did init/getty/telnetd/sshd/... create an entry for us? diff --git a/util-linux/last_fancy.c b/util-linux/last_fancy.c index 648236229..aa7a62bbe 100644 --- a/util-linux/last_fancy.c +++ b/util-linux/last_fancy.c @@ -159,7 +159,7 @@ int last_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int last_main(int argc UNUSED_PARAM, char **argv) { struct utmpx ut; - const char *filename = _PATH_WTMP; + const char *filename = _CORRECT_PATH_WTMP; llist_t *zlist; off_t pos; time_t start_time; -- 2.37.1