aboutsummaryrefslogtreecommitdiffstats
path: root/LoadAverageMeter.c
diff options
context:
space:
mode:
authorDiogo Ferreira <defer@cyngn.com>2015-01-14 11:13:52 +0000
committerDiogo Ferreira <defer@cyngn.com>2015-01-14 11:38:57 +0000
commit841159c272ac08b1cd5bdef5167a8ce11383fbb5 (patch)
treed7272ef150e58eaa1acc9ab62cf9e6c0aecbc2da /LoadAverageMeter.c
parente1a8535012ab86d3e926bebfb7731dab1eb7320a (diff)
downloadandroid_external_htop-cm-13.0.tar.gz
android_external_htop-cm-13.0.tar.bz2
android_external_htop-cm-13.0.zip
Change-Id: I416c44803b3a79c2fd752e342ea113875fa533e0
Diffstat (limited to 'LoadAverageMeter.c')
-rw-r--r--LoadAverageMeter.c49
1 files changed, 31 insertions, 18 deletions
diff --git a/LoadAverageMeter.c b/LoadAverageMeter.c
index 1109dab..850f802 100644
--- a/LoadAverageMeter.c
+++ b/LoadAverageMeter.c
@@ -1,16 +1,19 @@
/*
-htop
-(C) 2004-2010 Hisham H. Muhammad
+htop - LoadAverageMeter.c
+(C) 2004-2011 Hisham H. Muhammad
Released under the GNU GPL, see the COPYING file
in the source distribution for its full text.
*/
#include "LoadAverageMeter.h"
-#include "Meter.h"
-#include <curses.h>
+#include "CRT.h"
+
+#include <assert.h>
-#include "debug.h"
+/*{
+#include "Meter.h"
+}*/
int LoadAverageMeter_attributes[] = {
LOAD_AVERAGE_FIFTEEN, LOAD_AVERAGE_FIVE, LOAD_AVERAGE_ONE
@@ -20,12 +23,15 @@ int LoadMeter_attributes[] = { LOAD };
static inline void LoadAverageMeter_scan(double* one, double* five, double* fifteen) {
int activeProcs, totalProcs, lastProc;
+ *one = 0; *five = 0; *fifteen = 0;
FILE *fd = fopen(PROCDIR "/loadavg", "r");
- int total = fscanf(fd, "%lf %lf %lf %d/%d %d", one, five, fifteen,
- &activeProcs, &totalProcs, &lastProc);
- (void) total;
- assert(total == 6);
- fclose(fd);
+ if (fd) {
+ int total = fscanf(fd, "%32lf %32lf %32lf %32d/%32d %32d", one, five, fifteen,
+ &activeProcs, &totalProcs, &lastProc);
+ (void) total;
+ assert(total == 6);
+ fclose(fd);
+ }
}
static void LoadAverageMeter_setValues(Meter* this, char* buffer, int size) {
@@ -60,11 +66,15 @@ static void LoadMeter_display(Object* cast, RichString* out) {
RichString_write(out, CRT_colors[LOAD], buffer);
}
-MeterType LoadAverageMeter = {
+MeterClass LoadAverageMeter_class = {
+ .super = {
+ .extends = Class(Meter),
+ .delete = Meter_delete,
+ .display = LoadAverageMeter_display,
+ },
.setValues = LoadAverageMeter_setValues,
- .display = LoadAverageMeter_display,
- .mode = TEXT_METERMODE,
- .items = 3,
+ .defaultMode = TEXT_METERMODE,
+ .maxItems = 3,
.total = 100.0,
.attributes = LoadAverageMeter_attributes,
.name = "LoadAverage",
@@ -72,11 +82,14 @@ MeterType LoadAverageMeter = {
.caption = "Load average: "
};
-MeterType LoadMeter = {
+MeterClass LoadMeter_class = {
+ .super = {
+ .extends = Class(Meter),
+ .delete = Meter_delete,
+ .display = LoadMeter_display,
+ },
.setValues = LoadMeter_setValues,
- .display = LoadMeter_display,
- .mode = TEXT_METERMODE,
- .items = 1,
+ .defaultMode = TEXT_METERMODE,
.total = 100.0,
.attributes = LoadMeter_attributes,
.name = "Load",