From b6e3f6cb5d1051777c35988f201e6730525e3389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AB=8F=E8=A8=AA=E5=AD=90?= Date: Wed, 19 Jun 2024 23:52:56 +0900 Subject: =?UTF-8?q?=E6=8E=83=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cpu.c | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) (limited to 'src/cpu.c') diff --git a/src/cpu.c b/src/cpu.c index c6c7a6b..bf02346 100644 --- a/src/cpu.c +++ b/src/cpu.c @@ -1,37 +1,17 @@ #include "cpu.h" +#include "common.h" -#include -#include -#include - -void run_cpu_command(const char *command) { - char buf[128]; - - FILE *p = popen(command, "r"); - if (!p) { - fprintf(stderr, "CPUコマンドを実効に失敗: %s", command); - return; - } - - while (fgets(buf, sizeof(buf), p) != NULL) { - buf[strcspn(buf, "\n")] = '\0'; - printf("%s", buf); - } - - pclose(p); -} - -void display_cpu() { +const char *display_cpu() { #if defined(__NetBSD__) - run_cpu_command("sysctl -n machdep.cpu_brand | sed 's/(R)//' | " + return run_command_s("sysctl -n machdep.cpu_brand | sed 's/(R)//' | " "sed 's/(TM)//' | sed 's/CPU //' | sed 's/Processor//'"); - run_cpu_command("echo \" (\" && sysctl -n hw.ncpu && echo \" core)\""); + return run_command_s("echo \" (\" && sysctl -n hw.ncpu && echo \" core)\""); #elif defined(__FreeBSD__) || defined(__OpenBSD__) - run_cpu_command("sysctl -n hw.model | sed 's/(R)//' | " + return run_command_s("sysctl -n hw.model | sed 's/(R)//' | " "sed 's/(TM)//' | sed 's/CPU //' | sed 's/Processor//'"); - run_cpu_command("echo \" (\" && sysctl -n hw.ncpu && echo \" core)\""); + return run_command_s("echo \" (\" && sysctl -n hw.ncpu && echo \" core)\""); #elif defined(__linux__) - run_cpu_command("cat /proc/cpuinfo | awk -F '\\\\s*: | @' " + return run_command_s("cat /proc/cpuinfo | awk -F '\\\\s*: | @' " "'/model name|Hardware|Processor|^cpu model|chip type|^cpu type/ { " "cpu=$2; if ($1 == \"Hardware\") exit } END { print cpu }' | " "sed 's/(R)//' | sed 's/(TM)//' | sed 's/CPU //' | sed 's/ Processor//' | " @@ -62,6 +42,6 @@ void display_cpu() { } fclose(fp); - run_cpu_command("echo \"GHz (\" && nproc && echo \" core)\""); + return run_command_s("echo \"GHz (\" && nproc && echo \" core)\""); #endif } -- cgit v1.2.3