From 164c1d8ffb2b508675ec56292e3b984c91dc7be4 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Wed, 23 Nov 2005 13:17:18 +0000
Subject: import 32/64 bit compat support from glibc

---
 libutil/logout.c  | 9 +++++++++
 libutil/logwtmp.c | 9 +++++++++
 2 files changed, 18 insertions(+)

(limited to 'libutil')

diff --git a/libutil/logout.c b/libutil/logout.c
index 165077e1d..08094d41d 100644
--- a/libutil/logout.c
+++ b/libutil/logout.c
@@ -51,7 +51,16 @@ logout (const char *line)
       memset (ut->ut_host, 0, sizeof ut->ut_host);
 #endif
 #if _HAVE_UT_TV - 0
+# if __WORDSIZE_COMPAT32 == 0
       gettimeofday (&ut->ut_tv, NULL);
+# else
+    {
+      struct timeval tv;
+      gettimeofday (&tv, NULL);
+      ut->ut_tv.tv_sec = tv.tv_sec;
+      ut->ut_tv.tv_usec = tv.tv_usec;
+    }
+# endif
 #else
       time (&ut->ut_time);
 #endif
diff --git a/libutil/logwtmp.c b/libutil/logwtmp.c
index 85721a72d..c6a8530ca 100644
--- a/libutil/logwtmp.c
+++ b/libutil/logwtmp.c
@@ -37,7 +37,16 @@ void logwtmp (const char *line, const char *name, const char *host)
     strncpy(lutmp.ut_line, line, sizeof(lutmp.ut_line)-1);
     strncpy(lutmp.ut_name, name, sizeof(lutmp.ut_name)-1);
     strncpy(lutmp.ut_host, host, sizeof(lutmp.ut_host)-1);
+#if __WORDSIZE_COMPAT32 == 0
     gettimeofday(&(lutmp.ut_tv), NULL);
+#else
+    {
+      struct timeval tv;
+      gettimeofday (&tv, NULL);
+      lutmp.ut_tv.tv_sec = tv.tv_sec;
+      lutmp.ut_tv.tv_usec = tv.tv_usec;
+    }
+#endif
 
     updwtmp(_PATH_WTMP, &(lutmp));
 }
-- 
cgit v1.2.3