From aa8c6c55f6be1ea1f69b82ca5bb549e445eae519 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sat, 14 Apr 2018 09:40:44 +1000 Subject: [PATCH 1/5] general: Remove unsafe splitting. --- neofetch | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/neofetch b/neofetch index a9c366c8..4faac552 100755 --- a/neofetch +++ b/neofetch @@ -1510,7 +1510,8 @@ get_memory() { ;; "AIX") - mem_stat=($(svmon -G -O unit=MB)) + IFS=" " read -ra mem_stat <<< "$(svmon -G -O unit=MB)" + mem_total="${mem_stat[11]/.*}" mem_free="${mem_stat[16]/.*}" mem_used="$((mem_total - mem_free))" @@ -1518,7 +1519,9 @@ get_memory() { ;; "IRIX") - mem_stat=($(pmem | head -1)) + IFS=$'\n' read -d "" -ra mem_cmd <<< "$(pmem)" + IFS=" " read -ra mem_stat <<< "${mem_cmd[0]}" + mem_total="$((mem_stat[3] / 1024))" mem_free="$((mem_stat[5] / 1024))" mem_used="$((mem_total - mem_free))" From 82cc8ebb6e068030c6c6a2b7bc6edc82359dde77 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sun, 15 Apr 2018 19:54:36 +1000 Subject: [PATCH 2/5] general: Fixed issue on AIX. --- neofetch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neofetch b/neofetch index 4faac552..e78510db 100755 --- a/neofetch +++ b/neofetch @@ -1510,7 +1510,7 @@ get_memory() { ;; "AIX") - IFS=" " read -ra mem_stat <<< "$(svmon -G -O unit=MB)" + IFS=$'\n'"| " read -d "" -ra mem_stat <<< "$(svmon -G -O unit=MB)" mem_total="${mem_stat[11]/.*}" mem_free="${mem_stat[16]/.*}" From 41fd2df411788895e1f890e86dd387f6e6087016 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sun, 15 Apr 2018 20:06:33 +1000 Subject: [PATCH 3/5] memory: simplify --- neofetch | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/neofetch b/neofetch index e78510db..7de76778 100755 --- a/neofetch +++ b/neofetch @@ -1434,18 +1434,10 @@ get_memory() { "Linux" | "Windows") # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable # Source: https://github.com/KittyKatt/screenFetch/issues/386#issuecomment-249312716 - while IFS=":" read -r a b; do - case "$a" in - "MemTotal") mem_used="$((mem_used+=${b/kB}))"; mem_total="${b/kB}" ;; - "Shmem") mem_used="$((mem_used+=${b/kB}))" ;; - "MemFree" | "Buffers" | "Cached" | "SReclaimable") - mem_used="$((mem_used-=${b/kB}))" - ;; - esac - done < /proc/meminfo + IFS=$'\n'"|:|kB" read -d "" -ra mem < /proc/meminfo - mem_used="$((mem_used / 1024))" - mem_total="$((mem_total / 1024))" + mem_used="$(((mem[1] + mem[64] - mem[4] - mem[11] - mem[14]- mem[70]) / 1024))" + mem_total="$((mem[1] / 1024))" ;; "Mac OS X" | "iPhone OS") From d7172fa89b3b057c14808608d7cc32c747b83dbb Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sun, 15 Apr 2018 20:10:42 +1000 Subject: [PATCH 4/5] memory: simplify --- neofetch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/neofetch b/neofetch index 7de76778..bacdc9ee 100755 --- a/neofetch +++ b/neofetch @@ -1432,10 +1432,10 @@ get_gpu() { get_memory() { case "$os" in "Linux" | "Windows") + IFS=$'\n'":kB" read -d "" -ra mem < /proc/meminfo + # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable # Source: https://github.com/KittyKatt/screenFetch/issues/386#issuecomment-249312716 - IFS=$'\n'"|:|kB" read -d "" -ra mem < /proc/meminfo - mem_used="$(((mem[1] + mem[64] - mem[4] - mem[11] - mem[14]- mem[70]) / 1024))" mem_total="$((mem[1] / 1024))" ;; From 4212e83fe0cbe46be5fa1c17deee64451b26bbc6 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sun, 15 Apr 2018 20:17:01 +1000 Subject: [PATCH 5/5] memory: simplify --- neofetch | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/neofetch b/neofetch index bacdc9ee..e78510db 100755 --- a/neofetch +++ b/neofetch @@ -1432,12 +1432,20 @@ get_gpu() { get_memory() { case "$os" in "Linux" | "Windows") - IFS=$'\n'":kB" read -d "" -ra mem < /proc/meminfo - # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable # Source: https://github.com/KittyKatt/screenFetch/issues/386#issuecomment-249312716 - mem_used="$(((mem[1] + mem[64] - mem[4] - mem[11] - mem[14]- mem[70]) / 1024))" - mem_total="$((mem[1] / 1024))" + while IFS=":" read -r a b; do + case "$a" in + "MemTotal") mem_used="$((mem_used+=${b/kB}))"; mem_total="${b/kB}" ;; + "Shmem") mem_used="$((mem_used+=${b/kB}))" ;; + "MemFree" | "Buffers" | "Cached" | "SReclaimable") + mem_used="$((mem_used-=${b/kB}))" + ;; + esac + done < /proc/meminfo + + mem_used="$((mem_used / 1024))" + mem_total="$((mem_total / 1024))" ;; "Mac OS X" | "iPhone OS")