slstatus/components/uptime.c

24 lines
439 B
C
Raw Normal View History

/* See LICENSE file for copyright and license details. */
#include <inttypes.h>
#include <stdio.h>
#include <time.h>
#include "../util.h"
const char *
uptime(void)
2018-05-02 06:41:06 +00:00
{
2018-07-07 08:50:25 +00:00
uintmax_t h, m;
struct timespec uptime;
if (clock_gettime(CLOCK_BOOTTIME, &uptime) < 0) {
warn("clock_gettime 'CLOCK_BOOTTIME'");
return NULL;
}
h = uptime.tv_sec / 3600;
m = uptime.tv_sec % 3600 / 60;
2018-07-07 08:50:25 +00:00
return bprintf("%" PRIuMAX "h %" PRIuMAX "m", h, m);
2018-05-02 06:41:06 +00:00
}