diff --git a/mozilla/base/src/nsString.cpp b/mozilla/base/src/nsString.cpp index 044f0c8d414..1cdd697d754 100644 --- a/mozilla/base/src/nsString.cpp +++ b/mozilla/base/src/nsString.cpp @@ -468,7 +468,8 @@ void nsString::ToUCS2(PRInt32 aStartOffset){ chartype* end = cp + mLength; while (cp < end) { unsigned char ch = (unsigned char)*cp; - *cp=gToUCS2[ch]; + if( 0x0080 == (0xFFE0 & (*cp)) ) // limit to only 0x0080 to 0x009F + *cp=gToUCS2[ch]; cp++; } } diff --git a/mozilla/string/obsolete/nsString.cpp b/mozilla/string/obsolete/nsString.cpp index 044f0c8d414..1cdd697d754 100644 --- a/mozilla/string/obsolete/nsString.cpp +++ b/mozilla/string/obsolete/nsString.cpp @@ -468,7 +468,8 @@ void nsString::ToUCS2(PRInt32 aStartOffset){ chartype* end = cp + mLength; while (cp < end) { unsigned char ch = (unsigned char)*cp; - *cp=gToUCS2[ch]; + if( 0x0080 == (0xFFE0 & (*cp)) ) // limit to only 0x0080 to 0x009F + *cp=gToUCS2[ch]; cp++; } } diff --git a/mozilla/xpcom/ds/nsString.cpp b/mozilla/xpcom/ds/nsString.cpp index 044f0c8d414..1cdd697d754 100644 --- a/mozilla/xpcom/ds/nsString.cpp +++ b/mozilla/xpcom/ds/nsString.cpp @@ -468,7 +468,8 @@ void nsString::ToUCS2(PRInt32 aStartOffset){ chartype* end = cp + mLength; while (cp < end) { unsigned char ch = (unsigned char)*cp; - *cp=gToUCS2[ch]; + if( 0x0080 == (0xFFE0 & (*cp)) ) // limit to only 0x0080 to 0x009F + *cp=gToUCS2[ch]; cp++; } } diff --git a/mozilla/xpcom/string/obsolete/nsString.cpp b/mozilla/xpcom/string/obsolete/nsString.cpp index 044f0c8d414..1cdd697d754 100644 --- a/mozilla/xpcom/string/obsolete/nsString.cpp +++ b/mozilla/xpcom/string/obsolete/nsString.cpp @@ -468,7 +468,8 @@ void nsString::ToUCS2(PRInt32 aStartOffset){ chartype* end = cp + mLength; while (cp < end) { unsigned char ch = (unsigned char)*cp; - *cp=gToUCS2[ch]; + if( 0x0080 == (0xFFE0 & (*cp)) ) // limit to only 0x0080 to 0x009F + *cp=gToUCS2[ch]; cp++; } }