=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/top/display.c,v retrieving revision 1.52 retrieving revision 1.53 diff -c -r1.52 -r1.53 *** src/usr.bin/top/display.c 2017/03/15 04:24:14 1.52 --- src/usr.bin/top/display.c 2017/12/18 05:51:53 1.53 *************** *** 1,4 **** ! /* $OpenBSD: display.c,v 1.52 2017/03/15 04:24:14 deraadt Exp $ */ /* * Top users/processes display for Unix --- 1,4 ---- ! /* $OpenBSD: display.c,v 1.53 2017/12/18 05:51:53 cheloha Exp $ */ /* * Top users/processes display for Unix *************** *** 57,63 **** #include #include #include - #include #include "screen.h" /* interface to screen package */ #include "layout.h" /* defines for screen position layout */ --- 57,62 ---- *************** *** 209,230 **** static void format_uptime(char *buf, size_t buflen) { ! time_t now, uptime; int days, hrs, mins; ! int mib[2]; ! size_t size; ! struct timeval boottime; - now = time(NULL); /* * Print how long system has been up. - * (Found by getting "boottime" from the kernel) */ ! mib[0] = CTL_KERN; ! mib[1] = KERN_BOOTTIME; ! size = sizeof(boottime); ! if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1) { ! uptime = now - boottime.tv_sec; uptime += 30; days = uptime / (3600 * 24); uptime %= (3600 * 24); --- 208,222 ---- static void format_uptime(char *buf, size_t buflen) { ! time_t uptime; int days, hrs, mins; ! struct timespec boottime; /* * Print how long system has been up. */ ! if (clock_gettime(CLOCK_BOOTTIME, &boottime) != -1) { ! uptime = boottime.tv_sec; uptime += 30; days = uptime / (3600 * 24); uptime %= (3600 * 24);