| From 74fdc8988b55633cd05f8625390cd3f6a8102003 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= <amade@asmblr.net> |
| 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 <utmpx.h> |
| -# 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 <utmp.h> |
| # 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 |