From 7ba6cd72cd41655cc2eaff460a89bba7afab99ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Fri, 19 Jul 2019 18:40:03 -0700 Subject: [PATCH] Fixed #1820. --- examples/20-nanovg/nanovg.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/20-nanovg/nanovg.cpp b/examples/20-nanovg/nanovg.cpp index 353436fbc..5ad132044 100644 --- a/examples/20-nanovg/nanovg.cpp +++ b/examples/20-nanovg/nanovg.cpp @@ -67,7 +67,9 @@ static char* cpToUTF8(int cp, char* str) else if (cp < 0x200000) n = 4; else if (cp < 0x4000000) n = 5; else if (cp <= 0x7fffffff) n = 6; + str[n] = '\0'; + switch (n) { case 6: str[5] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x4000000; BX_FALLTHROUGH; @@ -75,8 +77,9 @@ static char* cpToUTF8(int cp, char* str) case 4: str[3] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x10000; BX_FALLTHROUGH; case 3: str[2] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0x800; BX_FALLTHROUGH; case 2: str[1] = 0x80 | (cp & 0x3f); cp = cp >> 6; cp |= 0xc0; BX_FALLTHROUGH; - case 1: str[0] = char(cp); BX_FALLTHROUGH; + case 1: str[0] = char(cp); break; } + return str; }