summaryrefslogtreecommitdiff
path: root/modules/computer/memory.c
diff options
context:
space:
mode:
authorSimon Quigley <tsimonq2@ubuntu.com>2017-08-16 04:32:39 -0500
committerSimon Quigley <tsimonq2@ubuntu.com>2017-08-16 04:32:39 -0500
commit9a9db98089717990cd5e0eef529f6bb0819ebe46 (patch)
treea9afaabce984d5fe552fa8bf1a9405db9bdd2699 /modules/computer/memory.c
parent69a2124e9a081518297951256eb5c8d72d93361f (diff)
New upstream version 0.5.1+git20170815
Diffstat (limited to 'modules/computer/memory.c')
-rw-r--r--modules/computer/memory.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/modules/computer/memory.c b/modules/computer/memory.c
index 3d320e8a..dc8599c2 100644
--- a/modules/computer/memory.c
+++ b/modules/computer/memory.c
@@ -28,23 +28,26 @@ computer_get_memory(void)
procmem = fopen("/proc/meminfo", "r");
if (!procmem)
- return NULL;
+ return NULL;
mi = g_new0(MemoryInfo, 1);
while (fgets(buffer, 128, procmem)) {
- gchar **tmp = g_strsplit(buffer, ":", 2);
-
- tmp[0] = g_strstrip(tmp[0]);
- tmp[1] = g_strstrip(tmp[1]);
-
- get_int("MemTotal", mi->total);
- get_int("MemFree", mi->free);
- get_int("Cached", mi->cached);
-
- g_strfreev(tmp);
+ gchar **tmp = g_strsplit(buffer, ":", 2);
+ if (tmp[1] == NULL) {
+ g_strfreev(tmp);
+ continue;
+ }
+ tmp[0] = g_strstrip(tmp[0]);
+ tmp[1] = g_strstrip(tmp[1]);
+
+ get_int("MemTotal", mi->total);
+ get_int("MemFree", mi->free);
+ get_int("Cached", mi->cached);
+
+ g_strfreev(tmp);
}
fclose(procmem);
-
+
mi->used = mi->total - mi->free;
mi->total /= 1000;