X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ae3bc8673d79edecb8fcb918d83db011535b0955..3a917e07d0fd60f656398dba24871195274b7ddd:/lib/gdi/font.cpp diff --git a/lib/gdi/font.cpp b/lib/gdi/font.cpp index f7c1bca5..329c4679 100644 --- a/lib/gdi/font.cpp +++ b/lib/gdi/font.cpp @@ -470,9 +470,9 @@ int eTextPara::renderString(const char *string, int rflags) if (string) uc_string.reserve(strlen(string)); - const char *p = string; + const char *p = string ? string : ""; - while(p) + while (*p) { unsigned int unicode=(unsigned char)*p++; @@ -482,28 +482,28 @@ int eTextPara::renderString(const char *string, int rflags) { unicode&=0x1F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; } else if ((unicode & 0xF0)==0xE0) // three bytes { unicode&=0x0F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; } else if ((unicode & 0xF8)==0xF0) // four bytes { unicode&=0x07; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; unicode<<=6; - if (p) + if (*p) unicode|=(*p++)&0x3F; } }