From 436808ff99d7b7e6f5d6e8f3127d9d03f6295f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Wed, 14 Apr 2021 20:47:42 +0200 Subject: 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. --- DiskIOMeter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'DiskIOMeter.c') diff --git a/DiskIOMeter.c b/DiskIOMeter.c index dd2e3c46..15ad5e54 100644 --- a/DiskIOMeter.c +++ b/DiskIOMeter.c @@ -97,10 +97,11 @@ static void DiskIOMeter_display(ATTR_UNUSED const Object* cast, RichString* out) } char buffer[16]; + int len; int color = cached_utilisation_diff > 40.0 ? METER_VALUE_NOTICE : METER_VALUE; - xSnprintf(buffer, sizeof(buffer), "%.1f%%", cached_utilisation_diff); - RichString_writeAscii(out, CRT_colors[color], buffer); + len = xSnprintf(buffer, sizeof(buffer), "%.1f%%", cached_utilisation_diff); + RichString_appendnAscii(out, CRT_colors[color], buffer, len); RichString_appendAscii(out, CRT_colors[METER_TEXT], " read: "); Meter_humanUnit(buffer, cached_read_diff, sizeof(buffer)); -- cgit v1.2.3