diff -upk.orig sysvinit-2.86.orig/src/utmp.c sysvinit-2.86/src/utmp.c --- sysvinit-2.86.orig/src/utmp.c 1999-06-09 11:11:33 +0000 +++ sysvinit-2.86/src/utmp.c 2007-01-06 15:36:17 +0000 @@ -76,7 +76,12 @@ char *line) /* Which line is this */ */ memset(&utmp, 0, sizeof(utmp)); #if defined(__GLIBC__) - gettimeofday(&utmp.ut_tv, NULL); + { + struct timeval tv; + gettimeofday(&tv, NULL); + utmp.ut_tv.tv_sec = tv.tv_sec; + utmp.ut_tv.tv_usec = tv.tv_usec; + } #else time(&utmp.ut_time); #endif @@ -144,7 +149,12 @@ char *oldline) /* Line of old utmp ent utmp.ut_pid = pid; strncpy(utmp.ut_id, id, sizeof(utmp.ut_id)); #if defined(__GLIBC__) - gettimeofday(&utmp.ut_tv, NULL); + { + struct timeval tv; + gettimeofday(&tv, NULL); + utmp.ut_tv.tv_sec = tv.tv_sec; + utmp.ut_tv.tv_usec = tv.tv_usec; + } #else time(&utmp.ut_time); #endif diff -upk.orig sysvinit-2.86.orig/src/wall.c sysvinit-2.86/src/wall.c --- sysvinit-2.86.orig/src/wall.c 2000-09-15 09:16:18 +0000 +++ sysvinit-2.86/src/wall.c 2005-05-24 17:09:47 +0000 @@ -101,8 +101,8 @@ int main(int argc, char **argv) } openlog("wall", LOG_PID, LOG_USER); - syslog(LOG_INFO, "wall: user %s broadcasted %d lines (%d chars)", - whoami, i, strlen(buf)); + syslog(LOG_INFO, "wall: user %s broadcasted %d lines (%u chars)", + whoami, i, (unsigned int) strlen(buf)); closelog(); unsetenv("TZ");