summaryrefslogtreecommitdiff
path: root/src/distro.c
diff options
context:
space:
mode:
author諏訪子 <suwako@076.moe>2024-06-17 22:54:24 +0900
committer諏訪子 <suwako@076.moe>2024-06-17 22:54:24 +0900
commit3d418e666955695052d25e32c6b2f296b7af6859 (patch)
tree929c517ab3ad1452c90ecedeee4f6575aa5fe893 /src/distro.c
parentcf13f2d8c1622a46f6499dcb762ea2b9370d99fc (diff)
Linuxでの修正
Diffstat (limited to 'src/distro.c')
-rw-r--r--src/distro.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/distro.c b/src/distro.c
index e94922b..8830e7c 100644
--- a/src/distro.c
+++ b/src/distro.c
@@ -3,31 +3,39 @@
#include <stdio.h>
#include <string.h>
-
#include <unistd.h>
void display_distro() {
- char buf[64];
- const char *cmd;
+ char buf[1288];
+ const char *cmd = NULL;
if (access("/bedrock/etc/bedrock-release", F_OK) != -1) {
- cmd = "cat /bedrock/etc/bedrock-release";
+ cmd = "cat /bedrock/etc/bedrock-release | grep '^PRETTY_NAME' | "
+ "cut -d '=' -f2 | tr -d '\"'";
} else if (access("/etc/redstar-release", F_OK) != -1) {
- cmd = "echo \"Red Star OS\" && cat /etc/redstar-release | awk -F'[^0-9]' '$0=$2'";
+ cmd = "echo \"Red Star OS\" && cat /etc/redstar-release | "
+ "awk -F'[^0-9]' '$0=$2'";
} else if (access("/etc/siduction-version", F_OK) != -1) {
- cmd = "echo \"Siduction\" && lsb_release -sic";
+ cmd = "echo \"Siduction\" && lsb_release -sic | "
+ "grep '^PRETTY_NAME' | cut -d '=' -f2 | tr -d '\"'";
} else if (access("/etc/mcst_version", F_OK) != -1) {
- cmd = "echo \"OS Elbrus\" && cat /etc/mcst_version";
+ cmd = "echo \"OS Elbrus\" && cat /etc/mcst_version | "
+ "grep '^PRETTY_NAME' | cut -d '=' -f2 | tr -d '\"'";
} else if (access("/etc/GoboLinuxVersion", F_OK) != -1) {
- cmd = "echo \"GoboLinux\" && cat /etc/GoboLinuxVersion";
+ cmd = "echo \"GoboLinux\" && cat /etc/GoboLinuxVersion | "
+ "grep '^PRETTY_NAME' | cut -d '=' -f2 | tr -d '\"'";
} else if (access("/etc/os-release", F_OK) != -1) {
- cmd = "cat /etc/os-release";
+ cmd = "cat /etc/os-release | "
+ "grep '^PRETTY_NAME' | cut -d '=' -f2 | tr -d '\"'";
} else if (access("/usr/lib/os-release", F_OK) != -1) {
- cmd = "cat /usr/lib/os-release";
+ cmd = "cat /usr/lib/os-release | "
+ "grep '^PRETTY_NAME' | cut -d '=' -f2 | tr -d '\"'";
} else if (access("/etc/openwrt_release", F_OK) != -1) {
- cmd = "cat /etc/openwrt_release";
+ cmd = "cat /etc/openwrt_release | "
+ "grep '^PRETTY_NAME' | cut -d '=' -f2 | tr -d '\"'";
} else if (access("/etc/lsb-release", F_OK) != -1) {
- cmd = "cat /etc/lsb-release";
+ cmd = "cat /etc/lsb-release | "
+ "grep '^DISTRIB_DESCRIPTION' | cut -d '=' -f2 | tr -d '\"'";
} else {
perror("不明なディストリビューション。");
}