diff --git a/src/logo/linux.c b/src/logo/linux.c index 8405de2..0e2545f 100644 --- a/src/logo/linux.c +++ b/src/logo/linux.c @@ -265,7 +265,7 @@ void getDistro(const char *distroname) { for (int i = 7; i < minsize; i++) { LOGO_SMALL[i] = MAGENTA " " RESET; } - } else if (strncmp(char *)distroname, "linuxmint", strlen("linuxmint")) == 0) { + } else if (strncmp((char *)distroname, "linuxmint", strlen("linuxmint")) == 0) { color = GREEN; titlecolor = GREEN; logosize = 19; @@ -291,12 +291,12 @@ void getDistro(const char *distroname) { LOGO[18] = WHITE " ``-:::::-`` " RESET; LOGO_SMALL[0] = GREEN " ___________ " RESET; - LOGO_SMALL[1] = GREEN "|_ \ " RESET; + LOGO_SMALL[1] = GREEN "|_ \\ " RESET; LOGO_SMALL[2] = GREEN " | " WHITE "| _____ " GREEN "| " RESET; LOGO_SMALL[3] = GREEN " | " WHITE "| | | | " GREEN "| " RESET; LOGO_SMALL[4] = GREEN " | " WHITE "| | | | " GREEN "| " RESET; - LOGO_SMALL[5] = GREEN " | " WHITE "\_____/ " GREEN "| " RESET; - LOGO_SMALL[6] = GREEN " \_________/ " RESET; + LOGO_SMALL[5] = GREEN " | " WHITE "\\_____/ " GREEN "| " RESET; + LOGO_SMALL[6] = GREEN " \\_________/ " RESET; } else if (strncmp((char *)distroname, "manjaro", strlen("manjaro")) == 0) { color = GREEN; titlecolor = GREEN; @@ -324,7 +324,7 @@ void getDistro(const char *distroname) { LOGO_SMALL[4] = GREEN "|||| |||| |||| " RESET; LOGO_SMALL[5] = GREEN "|||| |||| |||| " RESET; LOGO_SMALL[6] = GREEN "|||| |||| |||| " RESET; - } else if (strncmp(char *)distroname, "opensuse", strlen("opensuse")) == 0) { + } else if (strncmp((char *)distroname, "opensuse", strlen("opensuse")) == 0) { color = GREEN; titlecolor = GREEN; logosize = 18; @@ -349,11 +349,11 @@ void getDistro(const char *distroname) { LOGO[17] = WHITE " '^:ldxkkkkxdl:^' " RESET; LOGO_SMALL[0] = GREEN " _______ " RESET; - LOGO_SMALL[1] = GREEN "__| __ \ " RESET; - LOGO_SMALL[2] = GREEN " / .\ \ " RESET; - LOGO_SMALL[3] = GREEN " \__/ | " RESET; + LOGO_SMALL[1] = GREEN "__| __ \\ " RESET; + LOGO_SMALL[2] = GREEN " / .\\ \\ " RESET; + LOGO_SMALL[3] = GREEN " \\__/ | " RESET; LOGO_SMALL[4] = GREEN " _______| " RESET; - LOGO_SMALL[5] = GREEN " \_______ " RESET; + LOGO_SMALL[5] = GREEN " \\_______ " RESET; LOGO_SMALL[6] = GREEN "__________/ " RESET; } else if ( strncmp((char *)distroname, @@ -397,7 +397,7 @@ void getDistro(const char *distroname) { for (int i = 9; i < minsize; i++) { LOGO_SMALL[i] = GREEN " " RESET; } - } else if (strncmp(char *)distroname, "opensuse", strlen("opensuse")) == 0) { + } else if (strncmp((char *)distroname, "opensuse", strlen("opensuse")) == 0) { color = RED; titlecolor = RED; logosize = 20; @@ -425,9 +425,9 @@ void getDistro(const char *distroname) { LOGO_SMALL[0] = RED " _ " RESET; LOGO_SMALL[1] = RED " ---(_) " RESET; - LOGO_SMALL[2] = RED " _/ --- \ " RESET; + LOGO_SMALL[2] = RED " _/ --- \\ " RESET; LOGO_SMALL[3] = RED "(_) | | " RESET; - LOGO_SMALL[4] = RED " \ --- _/ " RESET; + LOGO_SMALL[4] = RED " \\ --- _/ " RESET; LOGO_SMALL[5] = RED " ---(_) " RESET; } else if (strncmp((char *)distroname, "void", strlen("void")) == 0) { color = WHITE; diff --git a/src/storage.c b/src/storage.c index 1924acf..5500e93 100644 --- a/src/storage.c +++ b/src/storage.c @@ -4,27 +4,26 @@ #include const char *display_storage() { - const char *iszfs = run_command_s("LC_ALL=C zpool list 2>&1"); - if ( - strncmp( - iszfs, - "sh: command not found: zpool", - strlen("sh: command not found: zpool") - ) == 0 || - strncmp( - iszfs, - "internal error: failed to initialize ZFS library", - strlen("internal error: failed to initialize ZFS library") - ) == 0 || - strncmp(iszfs, "sh: zpool: not found", strlen("sh: zpool: not found")) == 0 || - strncmp(iszfs, "sh: 1: zpool: not found", strlen("sh: 1: zpool: not found")) == 0 - ) { - return run_command_s("df -h | " - "awk '/^\\/dev\\// {printf \"%s: %s / %s, \", $1, $3, $2}' | " - "awk '{sub(/, $/, \"\"); print}'"); - } + const char *excode = run_command_s("LC_ALL=C zpool list 2>/dev/null || echo $?"); - return run_command_s("zpool list | " - "awk 'NR>1 {printf \"%s: %s / %s, \", $1, $3, $2}' | " - "awk '{sub(/, $/, \"\"); print}'"); + if (excode != NULL && strcmp(excode, "127") == 0) { + return run_command_s("df -h | " + "awk '/^\\/dev\\// {printf \"%s: %s / %s, \", $1, $3, $2}' | " + "awk '{sub(/, $/, \"\"); print}'"); + } else { + const char *iszfs = run_command_s("LC_ALL=C zpool list 2>&1"); + if ( + strncmp(iszfs, "sh: zpool: not found", strlen("sh: zpool: not found")) == 0 || + strncmp(iszfs, "sh: 1: zpool: not found", strlen("sh: 1: zpool: not found")) == 0 + ) { + return run_command_s("df -h | " + "awk '/^\\/dev\\// {printf \"%s: %s / %s, \", $1, $3, $2}' | " + "awk '{sub(/, $/, \"\"); print}'"); + } else { + return run_command_s("zpool list | " + "awk 'NR>1 {printf \"%s: %s / %s, \", $1, $3, $2}' | " + "awk '{sub(/, $/, \"\"); print}'"); + } + } } +