summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2020-12-04 14:44:57 +0100
committerBenBE <BenBE@geshi.org>2020-12-08 20:58:40 +0100
commit157086e750187f6bceeea697d10bf58403c7d5de (patch)
tree82c6512c1a1e88c9ab9f77ca9bf1531da265e331
parent5506925b346b09f8556ce2c8f83fe3d69dc1c03c (diff)
Split RichString_(append|appendn|write) into wide and ascii
RichString_writeFrom takes a top spot during performance analysis due to the calls to mbstowcs() and iswprint(). Most of the time we know in advance that we are only going to print regular ASCII characters.
-rw-r--r--AffinityPanel.c26
-rw-r--r--CPUMeter.c50
-rw-r--r--DiskIOMeter.c12
-rw-r--r--ListItem.c4
-rw-r--r--LoadAverageMeter.c8
-rw-r--r--MemoryMeter.c16
-rw-r--r--Meter.c4
-rw-r--r--NetworkIOMeter.c16
-rw-r--r--OptionItem.c20
-rw-r--r--Panel.c2
-rw-r--r--Process.c74
-rw-r--r--ProcessList.c4
-rw-r--r--RichString.c41
-rw-r--r--RichString.h12
-rw-r--r--SwapMeter.c8
-rw-r--r--TasksMeter.c20
-rw-r--r--dragonflybsd/DragonFlyBSDProcess.c2
-rw-r--r--freebsd/FreeBSDProcess.c2
-rw-r--r--linux/LinuxProcess.c6
-rw-r--r--linux/PressureStallMeter.c6
-rw-r--r--linux/SystemdMeter.c20
-rw-r--r--linux/ZramMeter.c14
-rw-r--r--openbsd/OpenBSDProcess.c2
-rw-r--r--solaris/SolarisProcess.c2
-rw-r--r--zfs/ZfsArcMeter.c30
-rw-r--r--zfs/ZfsCompressedArcMeter.c16
26 files changed, 224 insertions, 193 deletions
diff --git a/AffinityPanel.c b/AffinityPanel.c
index e491b524..767e849a 100644
--- a/AffinityPanel.c
+++ b/AffinityPanel.c
@@ -59,25 +59,25 @@ static void MaskItem_delete(Object* cast) {
static void MaskItem_display(const Object* cast, RichString* out) {
const MaskItem* this = (const MaskItem*)cast;
assert (this != NULL);
- RichString_append(out, CRT_colors[CHECK_BOX], "[");
+ RichString_appendAscii(out, CRT_colors[CHECK_BOX], "[");
if (this->value == 2) {
- RichString_append(out, CRT_colors[CHECK_MARK], "x");
+ RichString_appendAscii(out, CRT_colors[CHECK_MARK], "x");
} else if (this->value == 1) {
- RichString_append(out, CRT_colors[CHECK_MARK], "o");
+ RichString_appendAscii(out, CRT_colors[CHECK_MARK], "o");
} else {
- RichString_append(out, CRT_colors[CHECK_MARK], " ");
+ RichString_appendAscii(out, CRT_colors[CHECK_MARK], " ");
}
- RichString_append(out, CRT_colors[CHECK_BOX], "]");
- RichString_append(out, CRT_colors[CHECK_TEXT], " ");
+ RichString_appendAscii(out, CRT_colors[CHECK_BOX], "]");
+ RichString_appendAscii(out, CRT_colors[CHECK_TEXT], " ");
if (this->indent) {
- RichString_append(out, CRT_colors[PROCESS_TREE], this->indent);
- RichString_append(out, CRT_colors[PROCESS_TREE],
- this->sub_tree == 2
- ? CRT_treeStr[TREE_STR_OPEN]
- : CRT_treeStr[TREE_STR_SHUT]);
- RichString_append(out, CRT_colors[CHECK_TEXT], " ");
+ RichString_appendWide(out, CRT_colors[PROCESS_TREE], this->indent);
+ RichString_appendWide(out, CRT_colors[PROCESS_TREE],
+ this->sub_tree == 2
+ ? CRT_treeStr[TREE_STR_OPEN]
+ : CRT_treeStr[TREE_STR_SHUT]);
+ RichString_appendAscii(out, CRT_colors[CHECK_TEXT], " ");
}
- RichString_append(out, CRT_colors[CHECK_TEXT], this->text);
+ RichString_appendWide(out, CRT_colors[CHECK_TEXT], this->text);
}
static const ObjectClass MaskItem_class = {
diff --git a/CPUMeter.c b/CPUMeter.c
index 97fc3f0b..cf5b9ed5 100644
--- a/CPUMeter.c
+++ b/CPUMeter.c
@@ -104,49 +104,49 @@ static void CPUMeter_display(const Object* cast, RichString* out) {
const Meter* this = (const Meter*)cast;
RichString_prune(out);
if (this->param > this->pl->cpuCount) {
- RichString_append(out, CRT_colors[METER_TEXT], "absent");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "absent");
return;
}
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_NORMAL]);
- RichString_append(out, CRT_colors[METER_TEXT], ":");
- RichString_append(out, CRT_colors[CPU_NORMAL], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], ":");
+ RichString_appendAscii(out, CRT_colors[CPU_NORMAL], buffer);
if (this->pl->settings->detailedCPUTime) {
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_KERNEL]);
- RichString_append(out, CRT_colors[METER_TEXT], "sy:");
- RichString_append(out, CRT_colors[CPU_SYSTEM], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "sy:");
+ RichString_appendAscii(out, CRT_colors[CPU_SYSTEM], buffer);
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_NICE]);
- RichString_append(out, CRT_colors[METER_TEXT], "ni:");
- RichString_append(out, CRT_colors[CPU_NICE_TEXT], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "ni:");
+ RichString_appendAscii(out, CRT_colors[CPU_NICE_TEXT], buffer);
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_IRQ]);
- RichString_append(out, CRT_colors[METER_TEXT], "hi:");
- RichString_append(out, CRT_colors[CPU_IRQ], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "hi:");
+ RichString_appendAscii(out, CRT_colors[CPU_IRQ], buffer);
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_SOFTIRQ]);
- RichString_append(out, CRT_colors[METER_TEXT], "si:");
- RichString_append(out, CRT_colors[CPU_SOFTIRQ], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "si:");
+ RichString_appendAscii(out, CRT_colors[CPU_SOFTIRQ], buffer);
if (!isnan(this->values[CPU_METER_STEAL])) {
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_STEAL]);
- RichString_append(out, CRT_colors[METER_TEXT], "st:");
- RichString_append(out, CRT_colors[CPU_STEAL], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "st:");
+ RichString_appendAscii(out, CRT_colors[CPU_STEAL], buffer);
}
if (!isnan(this->values[CPU_METER_GUEST])) {
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_GUEST]);
- RichString_append(out, CRT_colors[METER_TEXT], "gu:");
- RichString_append(out, CRT_colors[CPU_GUEST], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "gu:");
+ RichString_appendAscii(out, CRT_colors[CPU_GUEST], buffer);
}
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_IOWAIT]);
- RichString_append(out, CRT_colors[METER_TEXT], "wa:");
- RichString_append(out, CRT_colors[CPU_IOWAIT], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "wa:");
+ RichString_appendAscii(out, CRT_colors[CPU_IOWAIT], buffer);
} else {
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_KERNEL]);
- RichString_append(out, CRT_colors[METER_TEXT], "sys:");
- RichString_append(out, CRT_colors[CPU_SYSTEM], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "sys:");
+ RichString_appendAscii(out, CRT_colors[CPU_SYSTEM], buffer);
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_NICE]);
- RichString_append(out, CRT_colors[METER_TEXT], "low:");
- RichString_append(out, CRT_colors[CPU_NICE_TEXT], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "low:");
+ RichString_appendAscii(out, CRT_colors[CPU_NICE_TEXT], buffer);
if (!isnan(this->values[CPU_METER_IRQ])) {
xSnprintf(buffer, sizeof(buffer), "%5.1f%% ", this->values[CPU_METER_IRQ]);
- RichString_append(out, CRT_colors[METER_TEXT], "vir:");
- RichString_append(out, CRT_colors[CPU_GUEST], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "vir:");
+ RichString_appendAscii(out, CRT_colors[CPU_GUEST], buffer);
}
}
@@ -161,8 +161,8 @@ static void CPUMeter_display(const Object* cast, RichString* out) {
} else {
xSnprintf(cpuTemperatureBuffer, sizeof(cpuTemperatureBuffer), "%5.1f%sC", cpuTemperature, CRT_degreeSign);
}
- RichString_append(out, CRT_colors[METER_TEXT], "temp:");
- RichString_append(out, CRT_colors[METER_VALUE], cpuTemperatureBuffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "temp:");
+ RichString_appendWide(out, CRT_colors[METER_VALUE], cpuTemperatureBuffer);
}
#endif
}
diff --git a/DiskIOMeter.c b/DiskIOMeter.c
index 0105ce35..04ca5a76 100644
--- a/DiskIOMeter.c
+++ b/DiskIOMeter.c
@@ -88,7 +88,7 @@ static void DiskIOMeter_updateValues(Meter* this, char* buffer, size_t len) {
static void DIskIOMeter_display(ATTR_UNUSED const Object* cast, RichString* out) {
if (!hasData) {
- RichString_write(out, CRT_colors[METER_VALUE_ERROR], "no data");
+ RichString_writeAscii(out, CRT_colors[METER_VALUE_ERROR], "no data");
return;
}
@@ -96,15 +96,15 @@ static void DIskIOMeter_display(ATTR_UNUSED const Object* cast, RichString* out)
int color = cached_utilisation_diff > 40.0 ? METER_VALUE_NOTICE : METER_VALUE;
xSnprintf(buffer, sizeof(buffer), "%.1f%%", cached_utilisation_diff);
- RichString_write(out, CRT_colors[color], buffer);
+ RichString_writeAscii(out, CRT_colors[color], buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " read: ");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " read: ");
Meter_humanUnit(buffer, cached_read_diff, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE_IOREAD], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE_IOREAD], buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " write: ");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " write: ");
Meter_humanUnit(buffer, cached_write_diff, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE_IOWRITE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE_IOWRITE], buffer);
}
const MeterClass DiskIOMeter_class = {
diff --git a/ListItem.c b/ListItem.c
index c3c1a7d3..8d962aef 100644
--- a/ListItem.c
+++ b/ListItem.c
@@ -29,7 +29,7 @@ static void ListItem_display(const Object* cast, RichString* out) {
assert (this != NULL);
if (this->moving) {
- RichString_write(out, CRT_colors[DEFAULT_COLOR],
+ RichString_writeWide(out, CRT_colors[DEFAULT_COLOR],
#ifdef HAVE_LIBNCURSESW
CRT_utf8 ? "↕ " :
#endif
@@ -37,7 +37,7 @@ static void ListItem_display(const Object* cast, RichString* out) {
} else {
RichString_prune(out);
}
- RichString_append(out, CRT_colors[DEFAULT_COLOR], this->value);
+ RichString_appendWide(out, CRT_colors[DEFAULT_COLOR], this->value);
}
ListItem* ListItem_new(const char* value, int key) {
diff --git a/LoadAverageMeter.c b/LoadAverageMeter.c
index d5424cd2..248d65cd 100644
--- a/LoadAverageMeter.c
+++ b/LoadAverageMeter.c
@@ -33,11 +33,11 @@ static void LoadAverageMeter_display(const Object* cast, RichString* out) {
const Meter* this = (const Meter*)cast;
char buffer[20];
xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[0]);
- RichString_write(out, CRT_colors[LOAD_AVERAGE_ONE], buffer);
+ RichString_writeAscii(out, CRT_colors[LOAD_AVERAGE_ONE], buffer);
xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[1]);
- RichString_append(out, CRT_colors[LOAD_AVERAGE_FIVE], buffer);
+ RichString_appendAscii(out, CRT_colors[LOAD_AVERAGE_FIVE], buffer);
xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[2]);
- RichString_append(out, CRT_colors[LOAD_AVERAGE_FIFTEEN], buffer);
+ RichString_appendAscii(out, CRT_colors[LOAD_AVERAGE_FIFTEEN], buffer);
}
static void LoadMeter_updateValues(Meter* this, char* buffer, size_t size) {
@@ -53,7 +53,7 @@ static void LoadMeter_display(const Object* cast, RichString* out) {
const Meter* this = (const Meter*)cast;
char buffer[20];
xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[0]);
- RichString_write(out, CRT_colors[LOAD], buffer);
+ RichString_writeAscii(out, CRT_colors[LOAD], buffer);
}
const MeterClass LoadAverageMeter_class = {
diff --git a/MemoryMeter.c b/MemoryMeter.c
index ad846527..e4754427 100644
--- a/MemoryMeter.c
+++ b/MemoryMeter.c
@@ -34,18 +34,18 @@ static void MemoryMeter_updateValues(Meter* this, char* buffer, size_t size) {
static void MemoryMeter_display(const Object* cast, RichString* out) {
char buffer[50];
const Meter* this = (const Meter*)cast;
- RichString_write(out, CRT_colors[METER_TEXT], ":");
+ RichString_writeAscii(out, CRT_colors[METER_TEXT], ":");
Meter_humanUnit(buffer, this->total, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
Meter_humanUnit(buffer, this->values[0], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " used:");
- RichString_append(out, CRT_colors[MEMORY_USED], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " used:");
+ RichString_appendAscii(out, CRT_colors[MEMORY_USED], buffer);
Meter_humanUnit(buffer, this->values[1], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " buffers:");
- RichString_append(out, CRT_colors[MEMORY_BUFFERS_TEXT], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " buffers:");
+ RichString_appendAscii(out, CRT_colors[MEMORY_BUFFERS_TEXT], buffer);
Meter_humanUnit(buffer, this->values[2], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " cache:");
- RichString_append(out, CRT_colors[MEMORY_CACHE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " cache:");
+ RichString_appendAscii(out, CRT_colors[MEMORY_CACHE], buffer);
}
const MeterClass MemoryMeter_class = {
diff --git a/Meter.c b/Meter.c
index 945911c9..b006a584 100644
--- a/Meter.c
+++ b/Meter.c
@@ -100,7 +100,7 @@ static inline void Meter_displayBuffer(const Meter* this, const char* buffer, Ri
if (Object_displayFn(this)) {
Object_display(this, out);
} else {
- RichString_write(out, CRT_colors[Meter_attributes(this)[0]], buffer);
+ RichString_writeWide(out, CRT_colors[Meter_attributes(this)[0]], buffer);
}
}
@@ -201,7 +201,7 @@ static void BarMeterMode_draw(Meter* this, int x, int y, int w) {
RichString_begin(bar);
RichString_appendChr(&bar, ' ', padding);
- RichString_append(&bar, 0, buffer);
+ RichString_appendWide(&bar, 0, buffer);
assert(RichString_sizeVal(bar) >= w);
int blockSizes[10];
diff --git a/NetworkIOMeter.c b/NetworkIOMeter.c
index 90ec9909..a898b311 100644
--- a/NetworkIOMeter.c
+++ b/NetworkIOMeter.c
@@ -88,24 +88,24 @@ static void NetworkIOMeter_updateValues(ATTR_UNUSED Meter* this, char* buffer, s
static void NetworkIOMeter_display(ATTR_UNUSED const Object* cast, RichString* out) {
if (!hasData) {
- RichString_write(out, CRT_colors[METER_VALUE_ERROR], "no data");
+ RichString_writeAscii(out, CRT_colors[METER_VALUE_ERROR], "no data");
return;
}
char buffer[64];
- RichString_write(out, CRT_colors[METER_TEXT], "rx: ");
+ RichString_writeAscii(out, CRT_colors[METER_TEXT], "rx: ");
Meter_humanUnit(buffer, cached_rxb_diff, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE_IOREAD], buffer);
- RichString_append(out, CRT_colors[METER_VALUE_IOREAD], "iB/s");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE_IOREAD], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE_IOREAD], "iB/s");
- RichString_append(out, CRT_colors[METER_TEXT], " tx: ");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " tx: ");
Meter_humanUnit(buffer, cached_txb_diff, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE_IOWRITE], buffer);
- RichString_append(out, CRT_colors[METER_VALUE_IOWRITE], "iB/s");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE_IOWRITE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE_IOWRITE], "iB/s");
xSnprintf(buffer, sizeof(buffer), " (%lu/%lu packets) ", cached_rxp_diff, cached_txp_diff);
- RichString_append(out, CRT_colors[METER_TEXT], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], buffer);
}
const MeterClass NetworkIOMeter_class = {
diff --git a/OptionItem.c b/OptionItem.c
index 00001fce..688fab8f 100644
--- a/OptionItem.c
+++ b/OptionItem.c
@@ -29,14 +29,14 @@ static void CheckItem_display(const Object* cast, RichString* out) {
const CheckItem* this = (const CheckItem*)cast;
assert (this != NULL);
- RichString_write(out, CRT_colors[CHECK_BOX], "[");
+ RichString_writeAscii(out, CRT_colors[CHECK_BOX], "[");
if (CheckItem_get(this)) {
- RichString_append(out, CRT_colors[CHECK_MARK], "x");
+ RichString_appendAscii(out, CRT_colors[CHECK_MARK], "x");
} else {
- RichString_append(out, CRT_colors[CHECK_MARK], " ");
+ RichString_appendAscii(out, CRT_colors[CHECK_MARK], " ");
}
- RichString_append(out, CRT_colors[CHECK_BOX], "] ");
- RichString_append(out, CRT_colors[CHECK_TEXT], this->super.text);
+ RichString_appendAscii(out, CRT_colors[CHECK_BOX], "] ");
+ RichString_appendWide(out, CRT_colors[CHECK_TEXT], this->super.text);
}
static void NumberItem_display(const Object* cast, RichString* out) {
@@ -44,7 +44,7 @@ static void NumberItem_display(const Object* cast, RichString* out) {
assert (this != NULL);
char buffer[12];
- RichString_write(out, CRT_colors[CHECK_BOX], "[");
+ RichString_writeAscii(out, CRT_colors[CHECK_BOX], "[");
int written;
if (this->scale < 0) {
written = xSnprintf(buffer, sizeof(buffer), "%.*f", -this->scale, pow(10, this->scale) * NumberItem_get(this));
@@ -53,12 +53,12 @@ static void NumberItem_display(const Object* cast, RichString* out) {
} else {
written = xSnprintf(buffer, sizeof(buffer), "%d", NumberItem_get(this));
}
- RichString_append(out, CRT_colors[CHECK_MARK], buffer);
- RichString_append(out, CRT_colors[CHECK_BOX], "]");
+ RichString_appendAscii(out, CRT_colors[CHECK_MARK], buffer);
+ RichString_appendAscii(out, CRT_colors[CHECK_BOX], "]");
for (int i = written; i < 5; i++) {
- RichString_append(out, CRT_colors[CHECK_BOX], " ");
+ RichString_appendAscii(out, CRT_colors[CHECK_BOX], " ");
}
- RichString_append(out, CRT_colors[CHECK_TEXT], this->super.text);
+ RichString_appendWide(out, CRT_colors[CHECK_TEXT], this->super.text);
}
const OptionItemClass OptionItem_class = {
diff --git a/Panel.c b/Panel.c
index 21dfbe22..37b9c4ef 100644
--- a/Panel.c
+++ b/Panel.c
@@ -82,7 +82,7 @@ RichString* Panel_getHeader(Panel* this) {
}
inline void Panel_setHeader(Panel* this, const char* header) {
- RichString_write(&(this->header), CRT_colors[PANEL_HEADER_FOCUS], header);
+ RichString_writeWide(&(this->header), CRT_colors[PANEL_HEADER_FOCUS], header);
this->needsRedraw = true;
}
diff --git a/Process.c b/Process.c
index 8245f86d..e84ac73d 100644
--- a/Process.c
+++ b/Process.c
@@ -74,53 +74,53 @@ void Process_humanNumber(RichString* str, unsigned long long number, bool colori
if (number < 1000) {
//Plain number, no markings
len = xSnprintf(buffer, sizeof(buffer), "%5llu ", number);
- RichString_appendn(str, processColor, buffer, len);
+ RichString_appendnAscii(str, processColor, buffer, len);
} else if (number < 100000) {
//2 digit MB, 3 digit KB
len = xSnprintf(buffer, sizeof(buffer), "%2llu", number/1000);
- RichString_appendn(str, processMegabytesColor, buffer, len);
+ RichString_appendnAscii(str, processMegabytesColor, buffer, len);
number %= 1000;
len = xSnprintf(buffer, sizeof(buffer), "%03llu ", number);
- RichString_appendn(str, processColor, buffer, len);
+ RichString_appendnAscii(str, processColor, buffer, len);
} else if (number < 1000 * ONE_K) {
//3 digit MB
number /= ONE_K;
len = xSnprintf(buffer, sizeof(buffer), "%4lluM ", number);
- RichString_appendn(str, processMegabytesColor, buffer, len);
+ RichString_appendnAscii(str, processMegabytesColor, buffer, len);
} else if (number < 10000 * ONE_K) {
//1 digit GB, 3 digit MB
number /= ONE_K;
len = xSnprintf(buffer, sizeof(buffer), "%1llu", number/1000);
- RichString_appendn(str, processGigabytesColor, buffer, len);
+ RichString_appendnAscii(str, processGigabytesColor, buffer, len);
number %= 1000;
len = xSnprintf(buffer, sizeof(buffer), "%03lluM ", number);
- RichString_appendn(str, processMegabytesColor, buffer, len);
+ RichString_appendnAscii(str, processMegabytesColor, buffer, len);
} else if (number < 100000 * ONE_K) {
//2 digit GB, 1 digit MB
number /= 100 * ONE_K;
len = xSnprintf(buffer, sizeof(buffer), "%2llu", number/10);
- RichString_appendn(str, processGigabytesColor, buffer, len);
+ RichString_appendnAscii(str, processGigabytesColor, buffer, len);
number %= 10;
len = xSnprintf(buffer, sizeof(buffer), ".%1llu", number);
- RichString_appendn(str, processMegabytesColor, buffer, len);
- RichString_append(str, processGigabytesColor, "G ");
+ RichString_appendnAscii(str, processMegabytesColor, buffer, len);
+ RichString_appendAscii(str, processGigabytesColor, "G ");
} else if (number < 1000 * ONE_M) {
//3 digit GB
number /= ONE_M;
len = xSnprintf(buffer, sizeof(buffer), "%4lluG ", number);
- RichString_appendn(str, processGigabytesColor, buffer, len);
+ RichString_appendnAscii(str, processGigabytesColor, buffer, len);
} else if (number < 10000ULL * ONE_M) {
//1 digit TB, 3 digit GB
number /= ONE_M;
len = xSnprintf(buffer, sizeof(buffer), "%1llu", number/1000);
- RichString_appendn(str, largeNumberColor, buffer, len);
+ RichString_appendnAscii(str, largeNumberColor, buffer, len);
number %= 1000;
len = xSnprintf(buffer, sizeof(buffer), "%03lluG ", number);
- RichString_appendn(str, processGigabytesColor, buffer, len);
+ RichString_appendnAscii(str, processGigabytesColor, buffer, len);
} else {
//2 digit TB and above
len = xSnprintf(buffer, sizeof(buffer), "%4.1lfT ", (double)number/ONE_G);
- RichString_appendn(str, largeNumberColor, buffer, len);
+ RichString_appendnAscii(str, largeNumberColor, buffer, len);
}
}
@@ -139,26 +139,25 @@ void Process_colorNumber(RichString* str, unsigned long long number, bool colori
}
if (number == ULLONG_MAX) {
- int len = xSnprintf(buffer, sizeof(buffer), " N/A ");
- RichString_appendn(str, CRT_colors[PROCESS_SHADOW], buffer, len);
+ RichString_appendAscii(str, CRT_colors[PROCESS_SHADOW], " N/A ");
} else if (number >= 100000LL * ONE_DECIMAL_T) {
xSnprintf(buffer, sizeof(buffer), "%11llu ", number / ONE_DECIMAL_G);
- RichString_appendn(str, largeNumberColor, buffer, 12);
+ RichString_appendnAscii(str, largeNumberColor, buffer, 12);
} else if (number >= 100LL * ONE_DECIMAL_T) {
xSnprintf(buffer, sizeof(buffer), "%11llu ", number / ONE_DECIMAL_M);
- RichString_appendn(str, largeNumberColor, buffer, 8);
- RichString_appendn(str, processMegabytesColor, buffer+8, 4);
+ RichString_appendnAscii(str, largeNumberColor, buffer, 8);
+ RichString_appendnAscii(str, processMegabytesColor, buffer+8, 4);
} else if (number >= 10LL * ONE_DECIMAL_G) {
xSnprintf(buffer, sizeof(buffer), "%11llu ", number / ONE_DECIMAL_K);
- RichString_appendn(str, largeNumberColor, buffer, 5);
- RichString_appendn(str, processMegabytesColor, buffer+5, 3);
- RichString_appendn(str, processColor, buffer+8, 4);
+ RichString_appendnAscii(str, largeNumberColor, buffer, 5);
+ RichString_appendnAscii(str, processMegabytesColor, buffer+5, 3);
+ RichString_appendnAscii(str, processColor, buffer+8, 4);
} else {
xSnprintf(buffer, sizeof(buffer), "%11llu ", number);
- RichString_appendn(str, largeNumberColor, buffer, 2);
- RichString_appendn(str, processMegabytesColor, buffer+2, 3);
- RichString_appendn(str, processColor, buffer+5, 3);
- RichString_appendn(str, processShadowColor, buffer+8, 4);
+ RichString_appendnAscii(str, largeNumberColor, buffer, 2);
+ RichString_appendnAscii(str, processMegabytesColor, buffer+2, 3);
+ RichString_appendnAscii(str, processColor, buffer+5, 3);
+ RichString_appendnAscii(str, processShadowColor, buffer+8, 4);
}
}
@@ -172,16 +171,16 @@ void Process_printTime(RichString* str, unsigned long long totalHundredths) {
char buffer[10];
if (hours >= 100) {
xSnprintf(buffer, sizeof(buffer), "%7lluh ", hours);
- RichString_append(str, CRT_colors[LARGE_NUMBER], buffer);
+ RichString_appendAscii(str, CRT_colors[LARGE_NUMBER], buffer);
} else {
if (hours) {
xSnprintf(buffer, sizeof(buffer), "%2lluh", hours);
- RichString_append(str, CRT_colors[LARGE_NUMBER], buffer);
+ RichString_appendAscii(str, CRT_colors[LARGE_NUMBER], buffer);
xSnprintf(buffer, sizeof(buffer), "%02d:%02d ", minutes, seconds);
} else {
xSnprintf(buffer, sizeof(buffer), "%2d:%02d.%02d ", minutes, seconds, hundredths);
}
- RichString_append(str, CRT_colors[DEFAULT_COLOR], buffer);
+ RichString_appendAscii(str, CRT_colors[DEFAULT_COLOR], buffer);
}
}
@@ -216,7 +215,7 @@ static inline void Process_writeCommand(const Process* this, int attr, int basea
finish += start - 1;
}
- RichString_append(str, attr, comm);
+ RichString_appendWide(str, attr, comm);
if (this->settings->highlightBaseName) {
RichString_setAttrn(str, baseattr, start, finish);
@@ -234,23 +233,22 @@ void Process_outputRate(RichString* str, char* buffer, size_t n, double rate, in
}
if (isnan(rate)) {
- int len = xSnprintf(buffer, n, " N/A ");
- RichString_appendn(str, CRT_colors[PROCESS_SHADOW], buffer, len);
+ RichString_appendAscii(str, CRT_colors[PROCESS_SHADOW], " N/A ");
} else if (rate < ONE_K) {
int len = snprintf(buffer, n, "%7.2f B/s ", rate);
- RichString_appendn(str, processColor, buffer, len);
+ RichString_appendnAscii(str, processColor, buffer, len);
} else if (rate < ONE_M) {
int len = snprintf(buffer, n, "%7.2f K/s ", rate / ONE_K);
- RichString_appendn(str, processColor, buffer, len);
+ RichString_appendnAscii(str, processColor, buffer, len);
} else if (rate < ONE_G) {
int len = snprintf(buffer, n, "%7.2f M/s ", rate / ONE_M);
- RichString_appendn(str, processMegabytesColor, buffer, len);
+ RichString_appendnAscii(str, processMegabytesColor, buffer, len);
} else if (rate < ONE_T) {
int len = snprintf(buffer, n, "%7.2f G/s ", rate / ONE_G);
- RichString_appendn(str, largeNumberColor, buffer, len);
+ RichString_appendnAscii(str, largeNumberColor, buffer, len);
} else {
int len = snprintf(buffer, n, "%7.2f T/s ", rate / ONE_T);
- RichString_appendn(str, largeNumberColor, buffer, len);
+ RichString_appendnAscii(str, largeNumberColor, buffer, len);
}
}
@@ -322,7 +320,7 @@ void Process_writeField(const Process* this, RichString* str, ProcessField field
}
const char* draw = CRT_treeStr[lastItem ? (this->settings->direction == 1 ? TREE_STR_BEND : TREE_STR_TEND) : TREE_STR_RTEE];
xSnprintf(buf, n, "%s%s ", draw, this->showChildren ? CRT_treeStr[TREE_STR_SHUT] : CRT_treeStr[TREE_STR_OPEN] );
- RichString_append(str, CRT_colors[PROCESS_TREE], buffer);
+ RichString_appendWide(str, CRT_colors[PROCESS_TREE], buffer);
Process_writeCommand(this, attr, baseattr, str);
return;
}
@@ -386,7 +384,7 @@ void Process_writeField(const Process* this, RichString* str, ProcessField field
default:
xSnprintf(buffer, n, "- ");
}
- RichString_append(str, attr, buffer);
+ RichString_appendWide(str, attr, buffer);
}
void Process_display(const Object* cast, RichString* out) {
diff --git a/ProcessList.c b/ProcessList.c
index 2d273398..dc8f62cb 100644
--- a/ProcessList.c
+++ b/ProcessList.c
@@ -92,9 +92,9 @@ void ProcessList_printHeader(ProcessList* this, RichString* header) {
int color = (this->settings->sortKey == fields[i]) ?
CRT_colors[PANEL_SELECTION_FOCUS] : CRT_colors[PANEL_HEADER_FOCUS];
- RichString_append(header, color, field);
+ RichString_appendWide(header, color, field);
if (COMM == fields[i] && this->settings->showMergedCommand) {
- RichString_append(header, color, "(merged)");
+ RichString_appendAscii(header, color, "(merged)");
}
}
}
diff --git a/RichString.c b/RichString.c
index 790c15a9..5dc7ada8 100644
--- a/RichString.c
+++ b/RichString.c
@@ -7,6 +7,7 @@ in the source distribution for its full text.
#include "RichString.h"
+#include <ctype.h>
#include <stdlib.h>
#include <string.h>
@@ -47,7 +48,7 @@ static void RichString_setLen(RichString* this, int len) {
#ifdef HAVE_LIBNCURSESW
-static inline void RichString_writeFrom(RichString* this, int attrs, const char* data_c, int from, int len) {
+static inline void RichString_writeFromWide(RichString* this, int attrs, const char* data_c, int from, int len) {
wchar_t data[len + 1];
len = mbstowcs(data, data_c, len);
if (len < 0)
@@ -60,6 +61,14 @@ static inline void RichString_writeFrom(RichString* this, int attrs, const char*
}
}
+static inline void RichString_writeFromAscii(RichString* this, int attrs, const char* data, int from, int len) {
+ int newLen = from + len;
+ RichString_setLen(this, newLen);
+ for (int i = from, j = 0; i < newLen; i++, j++) {
+ this->chptr[i] = (CharType) { .attr = attrs & 0xffffff, .chars = { (isprint(data[j]) ? data[j] : '?') } };
+ }
+}
+
inline void RichString_setAttrn(RichString* this, int attrs, int start, int finish) {
cchar_t* ch = this->chptr + start;
finish = CLAMP(finish, 0, this->chlen - 1);
@@ -82,7 +91,7 @@ int RichString_findChar(RichString* this, char c, int start) {
#else /* HAVE_LIBNCURSESW */
-static inline void RichString_writeFrom(RichString* this, int attrs, const char* data_c, int from, int len) {
+static inline void RichString_writeFromWide(RichString* this, int attrs, const char* data_c, int from, int len) {
int newLen = from + len;
RichString_setLen(this, newLen);
for (int i = from, j = 0; i < newLen; i++, j++) {
@@ -91,6 +100,10 @@ static inline void RichString_writeFrom(RichString* this, int attrs, const char*
this->chptr[newLen] = 0;
}
+static inline void RichString_writeFromAscii(RichString* this, int attrs, const char* data_c, int from, int len) {
+ RichString_writeFromWide(this, attrs, data_c, from, len);
+}
+
void RichString_setAttrn(RichString* this, int attrs, int start, int finish) {
chtype* ch = this->chptr + start;
finish = CLAMP(finish, 0, this->chlen - 1);
@@ -132,14 +145,26 @@ void RichString_setAttr(RichString* this, int attrs) {
RichString_setAttrn(this, attrs, 0, this->chlen - 1);
}
-void RichString_append(RichString* this, int attrs, const char* data) {
- RichString_writeFrom(this, attrs, data, this->chlen, strlen(data));
+void RichString_appendWide(RichString* this, int attrs, const char* data) {
+ RichString_writeFromWide(this, attrs, data, this->chlen, strlen(data));
+}
+
+void RichString_appendnWide(RichString* this, int attrs, const char* data, int len) {
+ RichString_writeFromWide(this, attrs, data, this->chlen, len);
+}
+
+void RichString_writeWide(RichString* this, int attrs, const char* data) {
+ RichString_writeFromWide(this, attrs, data, 0, strlen(data));
+}
+
+void RichString_appendAscii(RichString* this, int attrs, const char* data) {
+ RichString_writeFromAscii(this, attrs, data, this->chlen, strlen(data));
}
-void RichString_appendn(RichString* this, int attrs, const char* data, int len) {
- RichString_writeFrom(this, attrs, data, this->chlen, len);
+void RichString_appendnAscii(RichString* this, int attrs, const char* data, int len) {
+ RichString_writeFromAscii(this, attrs, data, this->chlen, len);
}
-void RichString_write(RichString* this, int attrs, const char* data) {
- RichString_writeFrom(this, attrs, data, 0, strlen(data));
+void RichString_writeAscii(RichString* this, int attrs, const char* data) {
+ RichString_writeFromAscii(this, attrs, data, 0, strlen(data));
}
diff --git a/RichString.h b/RichString.h
index 262befc5..163a970d 100644
--- a/RichString.h
+++ b/RichString.h
@@ -52,10 +52,16 @@ void RichString_setAttr(RichString* this, int attrs);
void RichString_appendChr(RichString* this, char c, int count);
-void RichString_append(RichString* this, int attrs, const char* data);
+void RichString_appendWide(RichString* this, int attrs, const char* data);
-void RichString_appendn(RichString* this, int attrs, const char* data, int len);
+void RichString_appendnWide(RichString* this, int attrs, const char* data, int len);
-void RichString_write(RichString* this, int attrs, const char* data);
+void RichString_writeWide(RichString* this, int attrs, const char* data);
+
+void RichString_appendAscii(RichString* this, int attrs, const char* data);
+
+void RichString_appendnAscii(RichString* this, int attrs, const char* data, int len);
+
+void RichString_writeAscii(RichString* this, int attrs, const char* data);
#endif
diff --git a/SwapMeter.c b/SwapMeter.c
index fcc11c54..e39cfd9f 100644
--- a/SwapMeter.c
+++ b/SwapMeter.c
@@ -32,12 +32,12 @@ static void SwapMeter_updateValues(Meter* this, char* buffer, size_t size) {
static void SwapMeter_display(const Object* cast, RichString* out) {
char buffer[50];
const Meter* this = (const Meter*)cast;
- RichString_write(out, CRT_colors[METER_TEXT], ":");
+ RichString_writeAscii(out, CRT_colors[METER_TEXT], ":");
Meter_humanUnit(buffer, this->total, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
Meter_humanUnit(buffer, this->values[0], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " used:");
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " used:");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
}
const MeterClass SwapMeter_class = {
diff --git a/TasksMeter.c b/TasksMeter.c
index 7696988a..a760ce07 100644
--- a/TasksMeter.c
+++ b/TasksMeter.c
@@ -46,7 +46,7 @@ static void TasksMeter_display(const Object* cast, RichString* out) {
int processes = (int) this->values[2];
xSnprintf(buffer, sizeof(buffer), "%d", processes);
- RichString_write(out, CRT_colors[METER_VALUE], buffer);
+ RichString_writeAscii(out, CRT_colors[METER_VALUE], buffer);
int threadValueColor = CRT_colors[METER_VALUE];
int threadCaptionColor = CRT_colors[METER_TEXT];
if (settings->highlightThreads) {
@@ -54,21 +54,21 @@ static void TasksMeter_display(const Object* cast, RichString* out) {
threadCaptionColor = CRT_colors[PROCESS_THREAD];
}
if (!settings->hideUserlandThreads) {
- RichString_append(out, CRT_colors[METER_TEXT], ", ");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], ", ");
xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[1]);
- RichString_append(out, threadValueColor, buffer);
- RichString_append(out, threadCaptionColor, " thr");
+ RichString_appendAscii(out, threadValueColor, buffer);
+ RichString_appendAscii(out, threadCaptionColor, " thr");
}
if (!settings->hideKernelThreads) {
- RichString_append(out, CRT_colors[METER_TEXT], ", ");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], ", ");
xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[0]);
- RichString_append(out, threadValueColor, buffer);
- RichString_append(out, threadCaptionColor, " kthr");
+ RichString_appendAscii(out, threadValueColor, buffer);
+ RichString_appendAscii(out, threadCaptionColor, " kthr");
}
- RichString_append(out, CRT_colors[METER_TEXT], "; ");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "; ");
xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[3]);
- RichString_append(out, CRT_colors[TASKS_RUNNING], buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " running");
+ RichString_appendAscii(out, CRT_colors[TASKS_RUNNING], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " running");
}
const MeterClass TasksMeter_class = {
diff --git a/dragonflybsd/DragonFlyBSDProcess.c b/dragonflybsd/DragonFlyBSDProcess.c
index 9311f03c..4ea66870 100644
--- a/dragonflybsd/DragonFlyBSDProcess.c
+++ b/dragonflybsd/DragonFlyBSDProcess.c
@@ -105,7 +105,7 @@ void DragonFlyBSDProcess_writeField(const Process* this, RichString* str, Proces
Process_writeField(this, str, field);
return;
}
- RichString_append(str, attr, buffer);
+ RichString_appendWide(str, attr, buffer);
}
long DragonFlyBSDProcess_compare(const void* v1, const void* v2) {
diff --git a/freebsd/FreeBSDProcess.c b/freebsd/FreeBSDProcess.c
index d6d67b75..1c670ae3 100644
--- a/freebsd/FreeBSDProcess.c
+++ b/freebsd/FreeBSDProcess.c
@@ -105,7 +105,7 @@ static void FreeBSDProcess_writeField(const Process* this, RichString* str, Proc
Process_writeField(this, str, field);
return;
}
- RichString_append(str, attr, buffer);
+ RichString_appendWide(str, attr, buffer);
}
static long FreeBSDProcess_compare(const void* v1, const void* v2) {
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c
index 8298000a..05626065 100644
--- a/linux/LinuxProcess.c
+++ b/linux/LinuxProcess.c
@@ -536,7 +536,7 @@ static void LinuxProcess_writeCommand(const Process* this, int attr, int baseAtt
if(lp->procExeDeleted)
baseAttr = CRT_colors[FAILED_READ];
- RichString_append(str, attr, lp->mergedCommand.str);
+ RichString_appendWide(str, attr, lp->mergedCommand.str);
if (lp->mergedCommand.commEnd) {
if (!lp->mergedCommand.separateComm && commStart == baseStart && highlightBaseName) {
@@ -608,7 +608,7 @@ static void LinuxProcess_writeCommandField(const Process *this, RichString *str,
n -= (buf - buffer);
const char* draw = CRT_treeStr[lastItem ? (this->settings->direction == 1 ? TREE_STR_BEND : TREE_STR_TEND) : TREE_STR_RTEE];
xSnprintf(buf, n, "%s%s ", draw, this->showChildren ? CRT_treeStr[TREE_STR_SHUT] : CRT_treeStr[TREE_STR_OPEN] );
- RichString_append(str, CRT_colors[PROCESS_TREE], buffer);
+ RichString_appendWide(str, CRT_colors[PROCESS_TREE], buffer);
LinuxProcess_writeCommand(this, attr, baseattr, str);
}
}
@@ -757,7 +757,7 @@ static void LinuxProcess_writeField(const Process* this, RichString* str, Proces
Process_writeField(this, str, field);
return;
}
- RichString_append(str, attr, buffer);
+ RichString_appendWide(str, attr, buffer);
}
static long LinuxProcess_compare(const void* v1, const void* v2) {
diff --git a/linux/PressureStallMeter.c b/linux/PressureStallMeter.c
index 745068c9..91ac562b 100644
--- a/linux/PressureStallMeter.c
+++ b/linux/PressureStallMeter.c
@@ -50,11 +50,11 @@ static void PressureStallMeter_display(const Object* cast, RichString* out) {
const Meter* this = (const Meter*)cast;
char buffer[20];
xSnprintf(buffer, sizeof(buffer), "%.2lf%% ", this->values[0]);
- RichString_write(out, CRT_colors[PRESSURE_STALL_TEN], buffer);
+ RichString_writeAscii(out, CRT_colors[PRESSURE_STALL_TEN], buffer);
xSnprintf(buffer, sizeof(buffer), "%.2lf%% ", this->values[1]);
- RichString_append(out, CRT_colors[PRESSURE_STALL_SIXTY], buffer);
+ RichString_appendAscii(out, CRT_colors[PRESSURE_STALL_SIXTY], buffer);
xSnprintf(buffer, sizeof(buffer), "%.2lf%% ", this->values[2]);
- RichString_append(out, CRT_colors[PRESSURE_STALL_THREEHUNDRED], buffer);
+ RichString_appendAscii(out, CRT_colors[PRESSURE_STALL_THREEHUNDRED], buffer);
}
const MeterClass PressureStallCPUSomeMeter_class = {
diff --git a/linux/SystemdMeter.c b/linux/SystemdMeter.c
index 4350d264..61bb59b3 100644
--- a/linux/SystemdMeter.c
+++ b/linux/SystemdMeter.c
@@ -267,9 +267,9 @@ static void SystemdMeter_display(ATTR_UNUSED const Object* cast, RichString* out
char buffer[16];
int color = (systemState && 0 == strcmp(systemState, "running")) ? METER_VALUE_OK : METER_VALUE_ERROR;
- RichString_write(out, CRT_colors[color], systemState ? systemState : "???");
+ RichString_writeAscii(out, CRT_colors[color], systemState ? systemState : "N/A");
- RichString_append(out, CRT_colors[METER_TEXT], " (");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " (");
if (nFailedUnits == INVALID_VALUE) {
buffer[0] = '?';
@@ -277,9 +277,9 @@ static void SystemdMeter_display(ATTR_UNUSED const Object* cast, RichString* out
} else {
xSnprintf(buffer, sizeof(buffer), "%u", nFailedUnits);
}
- RichString_append(out, zeroDigitColor(nFailedUnits), buffer);
+ RichString_appendAscii(out, zeroDigitColor(nFailedUnits), buffer);
- RichString_append(out, CRT_colors[METER_TEXT], "/");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "/");
if (nNames == INVALID_VALUE) {
buffer[0] = '?';
@@ -287,9 +287,9 @@ static void SystemdMeter_display(ATTR_UNUSED const Object* cast, RichString* out
} else {
xSnprintf(buffer, sizeof(buffer), "%u", nNames);
}
- RichString_append(out, valueDigitColor(nNames), buffer);
+ RichString_appendAscii(out, valueDigitColor(nNames), buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " failed) (");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " failed) (");
if (nJobs == INVALID_VALUE) {
buffer[0] = '?';
@@ -297,9 +297,9 @@ static void SystemdMeter_display(ATTR_UNUSED const Object* cast, RichString* out
} else {
xSnprintf(buffer, sizeof(buffer), "%u", nJobs);
}
- RichString_append(out, zeroDigitColor(nJobs), buffer);
+ RichString_appendAscii(out, zeroDigitColor(nJobs), buffer);
- RichString_append(out, CRT_colors[METER_TEXT], "/");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], "/");
if (nInstalledJobs == INVALID_VALUE) {
buffer[0] = '?';
@@ -307,9 +307,9 @@ static void SystemdMeter_display(ATTR_UNUSED const Object* cast, RichString* out
} else {
xSnprintf(buffer, sizeof(buffer), "%u", nInstalledJobs);
}
- RichString_append(out, valueDigitColor(nInstalledJobs), buffer);
+ RichString_appendAscii(out, valueDigitColor(nInstalledJobs), buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " jobs)");
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " jobs)");
}
static const int SystemdMeter_attributes[] = {
diff --git a/linux/ZramMeter.c b/linux/ZramMeter.c
index e6b6937e..723de0ac 100644
--- a/linux/ZramMeter.c
+++ b/linux/ZramMeter.c
@@ -37,17 +37,19 @@ static void ZramMeter_updateValues(Meter* this, char* buffer, size_t size) {
static void ZramMeter_display(const Object* cast, RichString* out) {
char buffer[50];
const Meter* this = (const Meter*)cast;
- RichString_write(out, CRT_colors[METER_TEXT], ":");
+
+ RichString_writeAscii(out, CRT_colors[METER_TEXT], ":");
+
Meter_humanUnit(buffer, this->total, sizeof(buffer));
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
Meter_humanUnit(buffer, this->values[0], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " used:");
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " used:");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
Meter_humanUnit(buffer, this->values[1], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " uncompressed:");
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " uncompressed:");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
}
const MeterClass ZramMeter_class = {
diff --git a/openbsd/OpenBSDProcess.c b/openbsd/OpenBSDProcess.c
index df5002ac..9aab53e5 100644
--- a/openbsd/OpenBSDProcess.c
+++ b/openbsd/OpenBSDProcess.c
@@ -209,7 +209,7 @@ static void OpenBSDProcess_writeField(const Process* this, RichString* str, Proc
Process_writeField(this, str, field);
return;
}
- RichString_append(str, attr, buffer);
+ RichString_appendWide(str, attr, buffer);
}
static long OpenBSDProcess_compare(const void* v1, const void* v2) {
diff --git a/solaris/SolarisProcess.c b/solaris/SolarisProcess.c
index e0a3db24..e69809c2 100644
--- a/solaris/SolarisProcess.c
+++ b/solaris/SolarisProcess.c
@@ -114,7 +114,7 @@ void SolarisProcess_writeField(const Process* this, RichString* str, ProcessFiel
Process_writeField(this, str, field);
return;
}
- RichString_append(str, attr, buffer);
+ RichString_appendWide(str, attr, buffer);
}
long SolarisProcess_compare(const void* v1, const void* v2) {
diff --git a/zfs/ZfsArcMeter.c b/zfs/ZfsArcMeter.c
index ddc239e3..91dfc713 100644
--- a/zfs/ZfsArcMeter.c
+++ b/zfs/ZfsArcMeter.c
@@ -51,28 +51,28 @@ static void ZfsArcMeter_display(const Object* cast, RichString* out) {
if (this->values[5] > 0) {
char buffer[50];
Meter_humanUnit(buffer, this->total, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
Meter_humanUnit(buffer, this->values[5], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " Used:");
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Used:");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
Meter_humanUnit(buffer, this->values[0], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " MFU:");
- RichString_append(out, CRT_colors[ZFS_MFU], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " MFU:");
+ RichString_appendAscii(out, CRT_colors[ZFS_MFU], buffer);
Meter_humanUnit(buffer, this->values[1], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " MRU:");
- RichString_append(out, CRT_colors[ZFS_MRU], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " MRU:");
+ RichString_appendAscii(out, CRT_colors[ZFS_MRU], buffer);
Meter_humanUnit(buffer, this->values[2], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " Anon:");
- RichString_append(out, CRT_colors[ZFS_ANON], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Anon:");
+ RichString_appendAscii(out, CRT_colors[ZFS_ANON], buffer);
Meter_humanUnit(buffer, this->values[3], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " Hdr:");
- RichString_append(out, CRT_colors[ZFS_HEADER], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Hdr:");
+ RichString_appendAscii(out, CRT_colors[ZFS_HEADER], buffer);
Meter_humanUnit(buffer, this->values[4], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_TEXT], " Oth:");
- RichString_append(out, CRT_colors[ZFS_OTHER], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Oth:");
+ RichString_appendAscii(out, CRT_colors[ZFS_OTHER], buffer);
} else {
- RichString_write(out, CRT_colors[METER_TEXT], " ");
- RichString_append(out, CRT_colors[FAILED_SEARCH], "Unavailable");
+ RichString_writeAscii(out, CRT_colors[METER_TEXT], " ");
+ RichString_appendAscii(out, CRT_colors[FAILED_SEARCH], "Unavailable");
}
}
diff --git a/zfs/ZfsCompressedArcMeter.c b/zfs/ZfsCompressedArcMeter.c
index 224c6144..92d82e99 100644
--- a/zfs/ZfsCompressedArcMeter.c
+++ b/zfs/ZfsCompressedArcMeter.c
@@ -48,17 +48,17 @@ static void ZfsCompressedArcMeter_display(const Object* cast, RichString* out) {
if (this->values[0] > 0) {
char buffer[50];
Meter_humanUnit(buffer, this->total, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " Uncompressed, ");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Uncompressed, ");
Meter_humanUnit(buffer, this->values[0], sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " Compressed, ");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Compressed, ");
ZfsCompressedArcMeter_printRatioString(this, buffer, sizeof(buffer));
- RichString_append(out, CRT_colors[METER_VALUE], buffer);
- RichString_append(out, CRT_colors[METER_TEXT], " Ratio");
+ RichString_appendAscii(out, CRT_colors[METER_VALUE], buffer);
+ RichString_appendAscii(out, CRT_colors[METER_TEXT], " Ratio");
} else {
- RichString_write(out, CRT_colors[METER_TEXT], " ");
- RichString_append(out, CRT_colors[FAILED_SEARCH], "Compression Unavailable");
+ RichString_writeAscii(out, CRT_colors[METER_TEXT], " ");
+ RichString_appendAscii(out, CRT_colors[FAILED_SEARCH], "Compression Unavailable");
}
}

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