diff options
-rw-r--r-- | src/storage.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/storage.c b/src/storage.c index 5471a62..976c810 100644 --- a/src/storage.c +++ b/src/storage.c @@ -5,16 +5,20 @@ const char *display_storage() { const char *iszfs = run_command_s("LC_ALL=C zpool list 2>&1"); - if (!strstr(iszfs, "command not found: zpool")) { + if ( + strncmp( + iszfs, + "sh: command not found: zpool", + strlen("sh: command not found: zpool") + ) != 0 || + strncmp(iszfs, "sh: zpool: not found", strlen("sh: zpool: not found") + ) == 0) { + return run_command_s("df -h | " + "awk '/^\\/dev\\// {printf \"%s: %s / %s, \", $1, $3, $2}' | " + "awk '{sub(/, $/, \"\"); print}'"); + } + return run_command_s("zpool list | " "awk 'NR>1 {printf \"%s: %s / %s, \", $1, $3, $2}' | " "awk '{sub(/, $/, \"\"); print}'"); - } - - return run_command_s("df -h | " - "awk '/^\\/dev\\// {printf \"%s: %s / %s, \", $1, $3, $2}' | " - "awk '{sub(/, $/, \"\"); print}'"); - - return run_command_s("df -h | awk 'NR>1 {print $1 \": \" $3 \" / \" $2}' | " - "sed ':a;N;$!ba;s/\\n/, /g'"); } |