From b8da1256e9d61d13d1621ec2f95bc8f473d88709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AB=8F=E8=A8=AA=E5=AD=90?= Date: Tue, 16 Jul 2024 21:50:04 +0900 Subject: [PATCH] =?UTF-8?q?macOS=E3=81=A7OS=E6=83=85=E5=A0=B1=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 +++ main.c | 2 +- src/os.c | 25 +++++++++++++++++++++++-- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee69791..e1ba330 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 0.3.0 +* macOSでOS情報の修正 + # 0.2.0 * Manjaroのロゴの追加 * OpenSUSEのロゴの追加 diff --git a/main.c b/main.c index c3a4a1e..5f63550 100644 --- a/main.c +++ b/main.c @@ -27,7 +27,7 @@ #include "src/config.h" const char *sofname = "farfetch"; -const char *version = "0.2.0"; +const char *version = "0.3.0"; #if defined(__linux__) || defined(__sun) const char *avalopt = "ls"; #else diff --git a/src/os.c b/src/os.c index e1c15f4..bea876f 100644 --- a/src/os.c +++ b/src/os.c @@ -1,7 +1,28 @@ #include "os.h" #include "common.h" +#include +#include + const char *display_os() { - return run_command_s("uname -s && echo \" \" && uname -r && " - "echo \" \" && uname -m"); + const char *osname = NULL; + const char *osversion = NULL; + const char *osarch = NULL; + +#if defined(__APPLE__) + osname = run_command_s("sw_vers | grep \"ProductName\" | awk '{print $2}'"); + osversion = run_command_s("sw_vers | grep \"ProductVersion\" | awk '{print $2}'"); +#else + osname = run_command_s("uname -s"); + osversion = run_command_s("uname -r"); +#endif + osarch = run_command_s("uname -m"); + + char *cmd = (char *)malloc(128 * sizeof(char)); + snprintf(cmd, 128, "%s %s %s", osname, osversion, osarch); + free((void *)osname); + free((void *)osversion); + free((void *)osarch); + + return cmd; }