From 9baa3d4d1c0a190ed156fec75e4f84931d359658 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Sat, 14 Feb 2026 05:07:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=A0=8F:=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20CPU=20=E4=BD=BF=E7=94=A8=E7=8E=87=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE=E8=8E=B7=E5=8F=96=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/status.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/status.c b/src/status.c index 362f3f9..f1af97a 100644 --- a/src/status.c +++ b/src/status.c @@ -34,16 +34,16 @@ typedef struct cpu_stat_t { uint64_t guest_nice; } cpu_stat_t; -static double calc_cpu_usage(cpu_stat_t curr, cpu_stat_t prev) { - uint64_t curr_idle = curr.idle + curr.iowait; - uint64_t curr_total = curr.user + curr.nice + curr.system + curr.idle + - curr.iowait + curr.irq + curr.softirq + curr.steal + - curr.guest + curr.guest_nice; +static double calc_cpu_usage(cpu_stat_t *curr, cpu_stat_t *prev) { + uint64_t curr_idle = curr->idle + curr->iowait; + uint64_t curr_total = curr->user + curr->nice + curr->system + curr->idle + + curr->iowait + curr->irq + curr->softirq + curr->steal + + curr->guest + curr->guest_nice; - uint64_t prev_idle = prev.idle + prev.iowait; - uint64_t prev_total = prev.user + prev.nice + prev.system + prev.idle + - prev.iowait + prev.irq + prev.softirq + prev.steal + - prev.guest + prev.guest_nice; + uint64_t prev_idle = prev->idle + prev->iowait; + uint64_t prev_total = prev->user + prev->nice + prev->system + prev->idle + + prev->iowait + prev->irq + prev->softirq + prev->steal + + prev->guest + prev->guest_nice; uint64_t total = curr_total - prev_total; uint64_t idle = curr_idle - prev_idle; @@ -68,7 +68,7 @@ static bool get_cpu_usage(double *usage, GError *error) { char cpu_line[256]; for (gchar **line = lines; *line != nullptr; ++line) { - if (strncmp(cpu_line, "cpu", 4) == 0) { + if (strncmp(*line, "cpu ", 4) == 0) { strncpy(cpu_line, *line, sizeof(cpu_line)); break; } @@ -84,7 +84,7 @@ static bool get_cpu_usage(double *usage, GError *error) { inited = true; } - double percent = calc_cpu_usage(stat, prev_cpu_stat); + double percent = calc_cpu_usage(&stat, &prev_cpu_stat); prev_cpu_stat = stat; *usage = percent;