From 430ce2a8749eb90ca0f8cdf18f5b217128c43e79 Mon Sep 17 00:00:00 2001 From: norly Date: Fri, 15 Feb 2013 01:19:41 +0000 Subject: Better file structure and build system Also fix some warnings --- src/status/memusage.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/status/memusage.c (limited to 'src/status/memusage.c') diff --git a/src/status/memusage.c b/src/status/memusage.c new file mode 100644 index 0000000..6a6cb21 --- /dev/null +++ b/src/status/memusage.c @@ -0,0 +1,51 @@ +#include +#include + +#include "status/memusage.h" +#include "tools.h" + + +void status_memusage() +{ + char *stline = NULL; + size_t stlen; + FILE *stfile; + + int memtotal = 0; + int memfree = 0; + int memused; + int membuffers = 0; + int memcached = 0; + + + stfile = fopen("/proc/meminfo", "r"); + if (stfile != NULL) { + stlen = getline(&stline, &stlen, stfile); + memtotal = atoi(&stline[17]); + + stlen = getline(&stline, &stlen, stfile); + memfree = atoi(&stline[17]); + + stlen = getline(&stline, &stlen, stfile); + membuffers = atoi(&stline[17]); + + stlen = getline(&stline, &stlen, stfile); + memcached = atoi(&stline[17]); + free(stline); + + fclose(stfile); + + memused = memtotal - memfree - memcached - membuffers; + + memused /= 1024; // Just show MBs used + + /* Change color based on % of RAM used */ + if ((float)memused / (float)memtotal < 0.85) { + fputs("^fg(green)", stdout); + } else { + fputs("^fg(red)", stdout); + } + + printf(" Mem: %d M ", memused); + } +} -- cgit v1.2.3