summaryrefslogtreecommitdiff
path: root/src/get_load.c
blob: 2f58d9b9e7105258f5f782fe8ad0e6b453f55ac8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// vim:ts=8:expandtab
#include "i3status.h"
#include <err.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

const char *get_load() {
        static char part[512];

/* Get load */
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(linux) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(sun)
        double loadavg[3];
        if (getloadavg(loadavg, 3) == -1)
                errx(-1, "getloadavg() failed\n");
        (void)snprintf(part, sizeof(part), "%1.2f %1.2f %1.2f", loadavg[0], loadavg[1], loadavg[2]);
#else
        part[0] = '\0';
#endif

        return part;
}