aboutsummaryrefslogtreecommitdiffstats
path: root/CPUMeter.c
diff options
context:
space:
mode:
authorEugene V. Lyubimkin <jackyf.devel@gmail.com>2009-06-29 13:08:39 +0300
committerDaniel Lange <DLange@git.local>2016-04-11 13:00:27 +0200
commit6e545da37e2482b15007df28c549afa072a5198d (patch)
tree0c8b285d20201de17614a4d4fa9b3c644882ca94 /CPUMeter.c
parent48ba112c47aec96ec9ce96103490eeb8b1b12585 (diff)
parentbea9b4798717b6f4e31085506dfc179eeb8dc17c (diff)
downloaddebian_htop-6e545da37e2482b15007df28c549afa072a5198d.tar.gz
debian_htop-6e545da37e2482b15007df28c549afa072a5198d.tar.bz2
debian_htop-6e545da37e2482b15007df28c549afa072a5198d.zip
Imported Debian patch 0.8.3-1debian/0.8.3-1
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