From 74fdc8988b55633cd05f8625390cd3f6a8102003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Date: Sat, 13 Jun 2015 17:52:46 +0200 Subject: [PATCH] change checks for utmp/utmpx in header linuxes should've working utmpx, so this check was bit weird commit 2b1bdf96 mentions some "linux workaround", but nothing specific fixes build with musl libc --- os.h | 7 ++++--- utmp.c | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/os.h b/os.h index 55de249..e827ac9 100644 --- a/os.h +++ b/os.h @@ -250,9 +250,11 @@ extern int errno; #endif #if defined(UTMPOK) || defined(BUGGYGETLOGIN) -# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) +# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) # include -# define UTMPFILE UTMPX_FILE +# ifdef UTMPX_FILE /* GNU extension */ +# define UTMPFILE UTMPX_FILE +# endif # define utmp utmpx # define getutent getutxent # define getutid getutxid @@ -260,7 +262,6 @@ extern int errno; # define pututline pututxline # define setutent setutxent # define endutent endutxent -# define ut_time ut_xtime # else /* SVR4 */ # include # endif /* SVR4 */ diff --git a/utmp.c b/utmp.c index fa8b87b..f5d7db8 100644 --- a/utmp.c +++ b/utmp.c @@ -631,7 +631,7 @@ int pid; /* must use temp variable because of NetBSD/sparc64, where * ut_xtime is long(64) but time_t is int(32) */ (void)time(&now); - u->ut_time = now; + u->ut_tv.tv_sec = now; } static slot_t @@ -743,7 +743,7 @@ int pid; strncpy(u->ut_line, line, sizeof(u->ut_line)); strncpy(u->ut_name, user, sizeof(u->ut_name)); (void)time(&now); - u->ut_time = now; + u->ut_tv.tv_sec = now; } static slot_t