summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorExplorer09 <explorer09@gmail.com>2024-04-18 22:18:40 +0800
committerBenBE <BenBE@geshi.org>2024-04-20 19:36:00 +0200
commitc2c2a70997a0bf40b0484af6d82c4d41d370d06d (patch)
treeaf1e89442ddadf21cebccd2d60705cc4258d2454
parentc167a2c4c514ffb1feb3b087060e0c0ee36578d1 (diff)
Define MeterModeId to unsigned int and use it throughout
All uses of meter drawing "mode" numbers now have the type `MeterModeId`, including the uses in structures and arrays. `MeterModeId` is defined as `unsigned int`, as (currently) it doesn't save any code size by defining it to any smaller type. Signed-off-by: Kang-Che Sung <explorer09@gmail.com>
-rw-r--r--CPUMeter.c10
-rw-r--r--Header.c2
-rw-r--r--MemorySwapMeter.c2
-rw-r--r--Meter.c2
-rw-r--r--Meter.h8
-rw-r--r--MeterMode.h6
-rw-r--r--MetersPanel.c2
-rw-r--r--Settings.c10
-rw-r--r--Settings.h3
9 files changed, 24 insertions, 21 deletions
diff --git a/CPUMeter.c b/CPUMeter.c
index 58f4455d..1077f4e1 100644
--- a/CPUMeter.c
+++ b/CPUMeter.c
@@ -253,7 +253,7 @@ static void CPUMeterCommonInit(Meter* this) {
}
}
-static void CPUMeterCommonUpdateMode(Meter* this, int mode, int ncol) {
+static void CPUMeterCommonUpdateMode(Meter* this, MeterModeId mode, int ncol) {
CPUMeterData* data = this->meterData;
Meter** meters = data->meters;
this->mode = mode;
@@ -278,19 +278,19 @@ static void AllCPUsMeter_done(Meter* this) {
free(data);
}
-static void SingleColCPUsMeter_updateMode(Meter* this, int mode) {
+static void SingleColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 1);
}
-static void DualColCPUsMeter_updateMode(Meter* this, int mode) {
+static void DualColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 2);
}
-static void QuadColCPUsMeter_updateMode(Meter* this, int mode) {
+static void QuadColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 4);
}
-static void OctoColCPUsMeter_updateMode(Meter* this, int mode) {
+static void OctoColCPUsMeter_updateMode(Meter* this, MeterModeId mode) {
CPUMeterCommonUpdateMode(this, mode, 8);
}
diff --git a/Header.c b/Header.c
index fa0279da..42f6d204 100644
--- a/Header.c
+++ b/Header.c
@@ -150,7 +150,7 @@ void Header_writeBackToSettings(const Header* this) {
int len = Vector_size(vec);
colSettings->names = len ? xCalloc(len + 1, sizeof(char*)) : NULL;
- colSettings->modes = len ? xCalloc(len, sizeof(int)) : NULL;
+ colSettings->modes = len ? xCalloc(len, sizeof(MeterModeId)) : NULL;
colSettings->len = len;
for (int i = 0; i < len; i++) {
diff --git a/MemorySwapMeter.c b/MemorySwapMeter.c
index 2e49817d..ae582900 100644
--- a/MemorySwapMeter.c
+++ b/MemorySwapMeter.c
@@ -68,7 +68,7 @@ static void MemorySwapMeter_init(Meter* this) {
}
}
-static void MemorySwapMeter_updateMode(Meter* this, int mode) {
+static void MemorySwapMeter_updateMode(Meter* this, MeterModeId mode) {
MemorySwapMeterData* data = this->meterData;
this->mode = mode;
diff --git a/Meter.c b/Meter.c
index 25f559a1..20c0287c 100644
--- a/Meter.c
+++ b/Meter.c
@@ -438,7 +438,7 @@ void Meter_setCaption(Meter* this, const char* caption) {
free_and_xStrdup(&this->caption, caption);
}
-void Meter_setMode(Meter* this, int modeIndex) {
+void Meter_setMode(Meter* this, MeterModeId modeIndex) {
if (modeIndex > 0 && modeIndex == this->mode) {
return;
}
diff --git a/Meter.h b/Meter.h
index ff402ae3..0d93759f 100644
--- a/Meter.h
+++ b/Meter.h
@@ -49,7 +49,7 @@ typedef struct Meter_ Meter;
typedef void(*Meter_Init)(Meter*);
typedef void(*Meter_Done)(Meter*);
-typedef void(*Meter_UpdateMode)(Meter*, int);
+typedef void(*Meter_UpdateMode)(Meter*, MeterModeId);
typedef void(*Meter_UpdateValues)(Meter*);
typedef void(*Meter_Draw)(Meter*, int, int, int);
typedef const char* (*Meter_GetCaption)(const Meter*);
@@ -64,7 +64,7 @@ typedef struct MeterClass_ {
const Meter_Draw draw;
const Meter_GetCaption getCaption;
const Meter_GetUiName getUiName;
- const int defaultMode;
+ const MeterModeId defaultMode;
const double total;
const int* const attributes;
const char* const name; /* internal name of the meter, must not contain any space */
@@ -105,7 +105,7 @@ struct Meter_ {
const Machine* host;
char* caption;
- int mode;
+ MeterModeId mode;
unsigned int param;
GraphData drawData;
int h;
@@ -137,7 +137,7 @@ void Meter_delete(Object* cast);
void Meter_setCaption(Meter* this, const char* caption);
-void Meter_setMode(Meter* this, int modeIndex);
+void Meter_setMode(Meter* this, MeterModeId modeIndex);
ListItem* Meter_toListItem(const Meter* this, bool moving);
diff --git a/MeterMode.h b/MeterMode.h
index 98e6921e..fc5b7785 100644
--- a/MeterMode.h
+++ b/MeterMode.h
@@ -8,13 +8,15 @@ in the source distribution for its full text.
*/
-typedef enum {
+enum MeterModeId_ {
/* Meter mode 0 is reserved */
BAR_METERMODE = 1,
TEXT_METERMODE,
GRAPH_METERMODE,
LED_METERMODE,
LAST_METERMODE
-} MeterModeId;
+};
+
+typedef unsigned int MeterModeId;
#endif
diff --git a/MetersPanel.c b/MetersPanel.c
index 2678fb2f..2b8049ca 100644
--- a/MetersPanel.c
+++ b/MetersPanel.c
@@ -108,7 +108,7 @@ static HandlerResult MetersPanel_eventHandler(Panel* super, int ch) {
if (!Vector_size(this->meters))
break;
Meter* meter = (Meter*) Vector_get(this->meters, selected);
- int mode = meter->mode + 1;
+ MeterModeId mode = meter->mode + 1;
if (mode == LAST_METERMODE)
mode = 1;
Meter_setMode(meter, mode);
diff --git a/Settings.c b/Settings.c
index a689b42b..9b457d86 100644
--- a/Settings.c
+++ b/Settings.c
@@ -108,9 +108,9 @@ static void Settings_readMeterModes(Settings* this, const char* line, unsigned i
}
column = MINIMUM(column, HeaderLayout_getColumns(this->hLayout) - 1);
this->hColumns[column].len = len;
- int* modes = len ? xCalloc(len, sizeof(int)) : NULL;
+ MeterModeId* modes = len ? xCalloc(len, sizeof(MeterModeId)) : NULL;
for (int i = 0; i < len; i++) {
- modes[i] = atoi(ids[i]);
+ modes[i] = (MeterModeId) atoi(ids[i]);
}
String_freeArray(ids);
this->hColumns[column].modes = modes;
@@ -123,7 +123,7 @@ static bool Settings_validateMeters(Settings* this) {
for (size_t column = 0; column < colCount; column++) {
char** names = this->hColumns[column].names;
- const int* modes = this->hColumns[column].modes;
+ const MeterModeId* modes = this->hColumns[column].modes;
const size_t len = this->hColumns[column].len;
if (!len)
@@ -164,7 +164,7 @@ static void Settings_defaultMeters(Settings* this, unsigned int initialCpuCount)
this->hColumns = xCalloc(HeaderLayout_getColumns(this->hLayout), sizeof(MeterColumnSetting));
for (size_t i = 0; i < 2; i++) {
this->hColumns[i].names = xCalloc(sizes[i] + 1, sizeof(char*));
- this->hColumns[i].modes = xCalloc(sizes[i], sizeof(int));
+ this->hColumns[i].modes = xCalloc(sizes[i], sizeof(MeterModeId));
this->hColumns[i].len = sizes[i];
}
@@ -646,7 +646,7 @@ static void writeMeterModes(const Settings* this, OutputFunc of,
if (this->hColumns[column].len) {
const char* sep = "";
for (size_t i = 0; i < this->hColumns[column].len; i++) {
- of(fp, "%s%d", sep, this->hColumns[column].modes[i]);
+ of(fp, "%s%u", sep, this->hColumns[column].modes[i]);
sep = " ";
}
} else {
diff --git a/Settings.h b/Settings.h
index b5bc8efd..9d9e0dba 100644
--- a/Settings.h
+++ b/Settings.h
@@ -13,6 +13,7 @@ in the source distribution for its full text.
#include "Hashtable.h"
#include "HeaderLayout.h"
+#include "MeterMode.h"
#include "Row.h"
#include "RowField.h"
@@ -34,7 +35,7 @@ typedef struct {
typedef struct {
size_t len;
char** names;
- int* modes;
+ MeterModeId* modes;
} MeterColumnSetting;
typedef struct ScreenSettings_ {

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