more strict UTF-8 validity checks, as it should be (patch #9847)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2008-08-09 21:38:21 +00:00
parent 817d057840
commit 03a0d58451

View File

@@ -131,7 +131,16 @@ bool wxStringOperationsUtf8::IsValidUtf8String(const char *str, size_t len)
if ( !(b >= 0x80 && b <= 0xBF ) ) if ( !(b >= 0x80 && b <= 0xBF ) )
return false; return false;
} }
else if ( b <= 0xEF ) // E1..EF else if ( b == 0xED )
{
b = *(++c);
if ( !(b >= 0x80 && b <= 0x9F ) )
return false;
b = *(++c);
if ( !(b >= 0x80 && b <= 0xBF ) )
return false;
}
else if ( b <= 0xEF ) // E1..EC EE..EF
{ {
for ( int i = 0; i < 2; ++i ) for ( int i = 0; i < 2; ++i )
{ {