From 3571d9277d9ae4754e9d1ac6c3966974ffdfff5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Sun, 19 May 2024 19:41:23 +0800 Subject: [PATCH] CPU (Linux): take `--cpu-freq-ndigits` into account in `--cpu-format` --- src/modules/cpu/cpu.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/modules/cpu/cpu.c b/src/modules/cpu/cpu.c index 16692c508..b32cd7f8f 100644 --- a/src/modules/cpu/cpu.c +++ b/src/modules/cpu/cpu.c @@ -79,11 +79,15 @@ void ffPrintCPU(FFCPUOptions* options) qsort(cpu.coreTypes, typeCount, sizeof(cpu.coreTypes[0]), (void*) sortCores); for (uint32_t i = 0; i < typeCount; i++) - ffStrbufAppendF(&coreTypes, "%s%u", i == 0 ? "" : " + ", cpu.coreTypes[i].count); + ffStrbufAppendF(&coreTypes, "%s%u", i == 0 ? "" : "+", cpu.coreTypes[i].count); } else ffStrbufAppendF(&coreTypes, "%u", cpu.coresOnline); + char freqBase[32], freqMax[32]; + snprintf(freqBase, sizeof(freqBase), "%.*f", options->freqNdigits, cpu.frequencyBase); + snprintf(freqMax, sizeof(freqMax), "%.*f", options->freqNdigits, cpu.frequencyMax); + FF_STRBUF_AUTO_DESTROY tempStr = ffStrbufCreate(); ffTempsAppendNum(cpu.temperature, &tempStr, options->tempConfig, &options->moduleArgs); FF_PRINT_FORMAT_CHECKED(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, FF_CPU_NUM_FORMAT_ARGS, ((FFformatarg[]){ @@ -92,8 +96,8 @@ void ffPrintCPU(FFCPUOptions* options) {FF_FORMAT_ARG_TYPE_UINT16, &cpu.coresPhysical}, {FF_FORMAT_ARG_TYPE_UINT16, &cpu.coresLogical}, {FF_FORMAT_ARG_TYPE_UINT16, &cpu.coresOnline}, - {FF_FORMAT_ARG_TYPE_DOUBLE, &cpu.frequencyBase}, - {FF_FORMAT_ARG_TYPE_DOUBLE, &cpu.frequencyMax}, + {FF_FORMAT_ARG_TYPE_STRING, freqBase}, + {FF_FORMAT_ARG_TYPE_STRING, freqMax}, {FF_FORMAT_ARG_TYPE_STRBUF, &tempStr}, {FF_FORMAT_ARG_TYPE_STRBUF, &coreTypes}, }));