From 164c1d8ffb2b508675ec56292e3b984c91dc7be4 Mon Sep 17 00:00:00 2001 From: Mike Frysinger 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(+) 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