Xinqi Bao's Git
projects
/
slstatus.git
/ blobdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
inline
| side by side
Sort LICENSE according to first commit
[slstatus.git]
/
components
/
uptime.c
diff --git
a/components/uptime.c
b/components/uptime.c
index
c5e28ee
..
a3082f2
100644
(file)
--- a/
components/uptime.c
+++ b/
components/uptime.c
@@
-1,8
+1,10
@@
/* See LICENSE file for copyright and license details. */
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
#include <stdio.h>
-#ifdef __linux__
+#include <string.h>
+#if defined(__linux__)
#include <sys/sysinfo.h>
#include <sys/sysinfo.h>
-#elif
__OpenBSD__
+#elif
defined(__OpenBSD__)
#include <sys/sysctl.h>
#include <sys/time.h>
#endif
#include <sys/sysctl.h>
#include <sys/time.h>
#endif
@@
-15,12
+17,12
@@
uptime(void)
int h;
int m;
int uptime = 0;
int h;
int m;
int uptime = 0;
-#if
def __linux__
+#if
defined(__linux__)
struct sysinfo info;
sysinfo(&info);
uptime = info.uptime;
struct sysinfo info;
sysinfo(&info);
uptime = info.uptime;
-#elif
__OpenBSD__
+#elif
defined(__OpenBSD__)
int mib[2];
size_t size;
time_t now;
int mib[2];
size_t size;
time_t now;
@@
-35,8
+37,10
@@
uptime(void)
if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1)
uptime = now - boottime.tv_sec;
if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1)
uptime = now - boottime.tv_sec;
- else
+ else {
+ fprintf(stderr, "sysctl 'KERN_BOOTTIME': %s\n", strerror(errno));
return NULL;
return NULL;
+ }
#endif
h = uptime / 3600;
m = (uptime - h * 3600) / 60;
#endif
h = uptime / 3600;
m = (uptime - h * 3600) / 60;