summaryrefslogtreecommitdiff
path: root/src/storage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/storage.c')
-rw-r--r--src/storage.c22
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'");
}