RFC 3629 restricted the range of characters encoded with UTF-8 to 0000-10FFFF (the UTF-16 accessible range)

This commit is contained in:
Sam Lantinga
2006-03-13 17:25:44 +00:00
parent d9374eb0ea
commit b6313a8a66

View File

@@ -368,7 +368,8 @@ size_t SDL_iconv(SDL_iconv_t cd,
ch = UNKNOWN_UNICODE;
}
if ( (ch >= 0xD800 && ch <= 0xDFFF) ||
(ch == 0xFFFE || ch == 0xFFFF) ) {
(ch == 0xFFFE || ch == 0xFFFF) ||
ch > 0x10FFFF ) {
/* Skip illegal sequences
return SDL_ICONV_EILSEQ;
*/
@@ -545,7 +546,7 @@ size_t SDL_iconv(SDL_iconv_t cd,
case ENCODING_UTF8: /* RFC 3629 */
{
Uint8 *p = (Uint8 *)dst;
if ( ch > 0x7FFFFFFF ) {
if ( ch > 0x10FFFF ) {
ch = UNKNOWN_UNICODE;
}
if ( ch <= 0x7F ) {