summaryrefslogtreecommitdiffstats
path: root/LoadAverageMeter.c
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2021-04-14 20:47:42 +0200
committercgzones <cgzones@googlemail.com>2021-04-26 17:51:45 +0200
commit436808ff99d7b7e6f5d6e8f3127d9d03f6295f98 (patch)
tree46610957022066f7da0170c1edcc5991435d5400 /LoadAverageMeter.c
parent099dab88be5a7a1c9207e7bc7116618b7108f851 (diff)
Use RichString_appendnAscii where possible
`RichString_appendnAscii()` avoids a `strlen(3)` call over ` RichString_appendAscii()`. Use the former where the length is available from a previous checked `snprintf(3)` call. Keep `RichString_appendAscii()` when passing a string literal and rely on compilers to optimize the `strlen(3)` call away.
Diffstat (limited to 'LoadAverageMeter.c')
-rw-r--r--LoadAverageMeter.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/LoadAverageMeter.c b/LoadAverageMeter.c
index 196cee9f..46685f43 100644
--- a/LoadAverageMeter.c
+++ b/LoadAverageMeter.c
@@ -60,12 +60,14 @@ static void LoadAverageMeter_updateValues(Meter* this) {
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_writeAscii(out, CRT_colors[LOAD_AVERAGE_ONE], buffer);
- xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[1]);
- RichString_appendAscii(out, CRT_colors[LOAD_AVERAGE_FIVE], buffer);
- xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[2]);
- RichString_appendAscii(out, CRT_colors[LOAD_AVERAGE_FIFTEEN], buffer);
+ int len;
+
+ len = xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[0]);
+ RichString_appendnAscii(out, CRT_colors[LOAD_AVERAGE_ONE], buffer, len);
+ len = xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[1]);
+ RichString_appendnAscii(out, CRT_colors[LOAD_AVERAGE_FIVE], buffer, len);
+ len = xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[2]);
+ RichString_appendnAscii(out, CRT_colors[LOAD_AVERAGE_FIFTEEN], buffer, len);
}
static void LoadMeter_updateValues(Meter* this) {
@@ -90,8 +92,10 @@ static void LoadMeter_updateValues(Meter* this) {
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_writeAscii(out, CRT_colors[LOAD], buffer);
+ int len;
+
+ len = xSnprintf(buffer, sizeof(buffer), "%.2f ", this->values[0]);
+ RichString_appendnAscii(out, CRT_colors[LOAD], buffer, len);
}
const MeterClass LoadAverageMeter_class = {

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