aboutsummaryrefslogtreecommitdiffstats
path: root/CPUMeter.c
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2016-04-11 13:00:26 +0200
committerDaniel Lange <DLange@git.local>2016-04-11 13:00:26 +0200
commitbea9b4798717b6f4e31085506dfc179eeb8dc17c (patch)
treee6b16257d9e7f8fb87b05dcdb8a0ba8bb3419eb7 /CPUMeter.c
parent1767b21eb219fb9ac332aca9f7c3abecd97b6b39 (diff)
downloaddebian_htop-bea9b4798717b6f4e31085506dfc179eeb8dc17c.tar.gz
debian_htop-bea9b4798717b6f4e31085506dfc179eeb8dc17c.tar.bz2
debian_htop-bea9b4798717b6f4e31085506dfc179eeb8dc17c.zip
Imported Upstream version 0.8.3upstream/0.8.3
Diffstat (limited to 'CPUMeter.c')
-rw-r--r--CPUMeter.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/CPUMeter.c b/CPUMeter.c
index bc6af15..7325bff 100644
--- a/CPUMeter.c
+++ b/CPUMeter.c
@@ -43,6 +43,10 @@ static void CPUMeter_init(Meter* this) {
static void CPUMeter_setValues(Meter* this, char* buffer, int size) {
ProcessList* pl = this->pl;
int processor = this->param;
+ if (processor > this->pl->processorCount) {
+ snprintf(buffer, size, "absent");
+ return;
+ }
double total = (double) pl->totalPeriod[processor];
double cpu;
this->values[0] = pl->nicePeriod[processor] / total * 100.0;
@@ -67,6 +71,10 @@ static void CPUMeter_display(Object* cast, RichString* out) {
char buffer[50];
Meter* this = (Meter*)cast;
RichString_init(out);
+ if (this->param > this->pl->processorCount) {
+ RichString_append(out, CRT_colors[METER_TEXT], "absent");
+ return;
+ }
sprintf(buffer, "%5.1f%% ", this->values[1]);
RichString_append(out, CRT_colors[METER_TEXT], ":");
RichString_append(out, CRT_colors[CPU_NORMAL], buffer);

© 2014-2024 Faster IT GmbH | imprint | privacy policy