summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Dejean <bdejean@gmail.com>2015-06-27 23:17:46 +0200
committerBenoit Dejean <bdejean@gmail.com>2015-07-15 18:39:06 +0200
commit185396d674b6ec1f637e0c37d43891e896cb6221 (patch)
treeac114e0e94710a83c3529e5a18a6196afc36c406
parent90f0e403951989afd864a2878dc86344ece8f0de (diff)
downloadlibgtop-185396d674b6ec1f637e0c37d43891e896cb6221.tar.gz
Check getloadavg() return value and call the function directly
on the glibtop_loadavg buffer member.
-rw-r--r--sysdeps/freebsd/loadavg.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sysdeps/freebsd/loadavg.c b/sysdeps/freebsd/loadavg.c
index cc1b3fe5..213444d7 100644
--- a/sysdeps/freebsd/loadavg.c
+++ b/sysdeps/freebsd/loadavg.c
@@ -48,22 +48,17 @@ _glibtop_init_loadavg_s (glibtop *server)
void
glibtop_get_loadavg_s (glibtop *server, glibtop_loadavg *buf)
{
- double ldavg[3];
pid_t last_pid;
size_t len;
- int i;
glibtop_init_s (&server, GLIBTOP_SYSDEPS_LOADAVG, 0);
memset (buf, 0, sizeof (glibtop_loadavg));
- getloadavg (ldavg, 3);
+ if (getloadavg (buf->loadavg, G_N_ELEMENTS(buf->loadavg)) == -1)
+ return;
- /* fill in the struct */
buf->flags = _glibtop_sysdeps_loadavg;
- for (i = 0; i < 3; i++) {
- buf->loadavg [i] = ldavg [i];
- } /* end for */
len = sizeof (last_pid);
if (sysctlbyname ("kern.lastpid", &last_pid, &len, NULL, 0)) {