From dad63b6d142ec9f58a003b2fdb21caefc36e68c0 Mon Sep 17 00:00:00 2001 From: mikeller Date: Sat, 1 Aug 2020 17:42:22 +1200 Subject: [PATCH] Improvements from @ledvinap. --- src/main/cms/cms.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/cms/cms.c b/src/main/cms/cms.c index c8152cf169..de8395e9e7 100644 --- a/src/main/cms/cms.c +++ b/src/main/cms/cms.c @@ -358,13 +358,14 @@ static void cmsPadToSize(char *buf, int size) static int cmsDisplayWrite(displayPort_t *instance, uint8_t x, uint8_t y, uint8_t attr, const char *s) { - char buffer[40]; - unsigned index = 0; - for (; index < strlen(s); index++) { - buffer[index] = toupper(s[index]); // uppercase only - buffer[index] = (buffer[index] < 0x20 || buffer[index] > 0x5F) ? ' ' : buffer[index]; // limit to alphanumeric and punctuation + char buffer[strlen(s) + 1]; + char* b = buffer; + while (*s) { + char c = toupper(*s++); + *b++ = (c < 0x20 || c > 0x5F) ? ' ' : c; // limit to alphanumeric and punctuation } - buffer[index] = 0; + *b++ = '\0'; + return displayWrite(instance, x, y, attr, buffer); }