diff options
Diffstat (limited to 'src/utmp.c')
-rw-r--r-- | src/utmp.c | 23 |
1 files changed, 11 insertions, 12 deletions
@@ -79,18 +79,14 @@ fill_utmp (UTMPX *utmp, int type, const char *user, const char *id, pid_t pid, const char *line) { -#if defined HAVE_STRUCT_UTMP_UT_HOST - struct utsname uts; -#endif -#if defined HAVE_STRUCT_UTMP_UT_TV - struct timeval tv; -#endif - memset (utmp, 0, sizeof (*utmp)); #if defined(HAVE_STRUCT_UTMP_UT_TV) || defined(HAVE_STRUCT_UTMPX_UT_TV) - gettimeofday (&tv, 0); - utmp->ut_tv.tv_sec = tv.tv_sec; - utmp->ut_tv.tv_usec = tv.tv_usec; + { + struct timeval tv; + gettimeofday (&tv, 0); + utmp->ut_tv.tv_sec = tv.tv_sec; + utmp->ut_tv.tv_usec = tv.tv_usec; + } #elif defined(HAVE_STRUCT_UTMP_UT_TIME) || defined(HAVE_STRUCT_UTMPX_UT_TIME) time (&utmp->ut_time); #endif @@ -100,8 +96,11 @@ fill_utmp (UTMPX *utmp, utmp->ut_pid = pid; strncpy (utmp->ut_line, line, sizeof(utmp->ut_line)); #if defined(HAVE_STRUCT_UTMP_UT_HOST) || defined(HAVE_STRUCT_UTMPX_UT_HOST) - if (uname (&uts) == 0) - strncpy (utmp->ut_host, uts.release, sizeof(utmp->ut_host)); + { + struct utsname uts; + if (uname (&uts) == 0) + strncpy (utmp->ut_host, uts.release, sizeof(utmp->ut_host)); + } #endif } |