From dd7e2b31af39c0a544119e39e0b1e0218c508464 Mon Sep 17 00:00:00 2001 From: Anser Date: Sat, 4 Jul 2026 20:08:16 +0200 Subject: added ram info from /proc/meminfo --- src/cfetch.c | 2 ++ src/modules/memory/memory.c | 28 ++++++++++++++++++++++++++++ src/modules/memory/memory.h | 8 ++++++++ 3 files changed, 38 insertions(+) create mode 100644 src/modules/memory/memory.c create mode 100644 src/modules/memory/memory.h (limited to 'src') diff --git a/src/cfetch.c b/src/cfetch.c index e920456..dd7094e 100644 --- a/src/cfetch.c +++ b/src/cfetch.c @@ -1,6 +1,8 @@ #include "modules/os/os.h" +#include "modules/memory/memory.h" int main(void) { os(); + memory(); return 0; } diff --git a/src/modules/memory/memory.c b/src/modules/memory/memory.c new file mode 100644 index 0000000..58d40df --- /dev/null +++ b/src/modules/memory/memory.c @@ -0,0 +1,28 @@ +#include +#include "memory.h" + +int memory(void) { + FILE *file = fopen("/proc/meminfo", "r"); + + if (!file) { + fclose(file); + perror("fopen"); + return 1; + } + + char line[256]; + long total = 0; + long available = 0; + + // read per line + while (fgets(line, sizeof(line), file)) { + if (sscanf(line, "MemTotal: %ld kB", &total) == 1) continue; + if (sscanf(line, "MemAvailable: %ld kB", &available) == 1) continue; + } + + fclose(file); + + printf("Memory: %.2f GB / %.2f GB\n", (total - available) / (1024.0 * 1024.0), total / (1024.0 * 1024.0)); + + return 0; +} diff --git a/src/modules/memory/memory.h b/src/modules/memory/memory.h new file mode 100644 index 0000000..9915100 --- /dev/null +++ b/src/modules/memory/memory.h @@ -0,0 +1,8 @@ +#include + +#ifndef MEMORY_H +#define MEMORY_H + +int memory(void); + +#endif // MEMORY_H -- cgit v1.2.3