summaryrefslogtreecommitdiff
blob: 990c73042cd0cbaf4444af09f22a6a6a6d0669f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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