summaryrefslogtreecommitdiff
path: root/libutil
diff options
context:
space:
mode:
Diffstat (limited to 'libutil')
-rw-r--r--libutil/logout.c9
-rw-r--r--libutil/logwtmp.c9
2 files changed, 18 insertions, 0 deletions
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));
}