From e2735ee530aa78f76620d6ac28564b519ab9b990 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 3 Jan 2014 02:33:08 +0100 Subject: Fixed width computation for escape sequences --- host/matelight/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/host/matelight/main.c b/host/matelight/main.c index 6a714a8..8ea7fc0 100644 --- a/host/matelight/main.c +++ b/host/matelight/main.c @@ -28,15 +28,16 @@ int console_render(char *s, glyph_t **glyph_table, unsigned int glyph_table_size goto error; } for(;;){ - if(*p == '\033'){ + while(*p == '\033'){ p++; // Jump over escape sequences for(;;p++){ - if(!(*p == ';' || *p == '[' || ('0' < *p && *p < '9'))){ + if(!(*p == ';' || *p == '[' || ('0' <= *p && *p <= '9'))){ p++; break; } } + memset(&ps, 0, sizeof(mbstate_t)); } size_t inc = mbrtowc(&c, p, MB_CUR_MAX, &ps); // MB_CUR_MAX is safe since p is \0-terminated -- cgit