From 3f0fba004badec01e536ca0fe2889e7e0bb93d7a Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 13 Sep 2017 13:35:49 +0200 Subject: New rtl::isUnicodeScalarValue, rtl::isSurrogate There are apparently various places that want to check for a Unicode scalar value rather than for a Unicode code point. Changed those uses of rtl::isUnicodeCodePoint where that was obvious. (For changing svtools/source/svrtf/svparser.cxx see 8e0fb74dc01927b60d8b868548ef8fe1d7a80ce3 "Revert 'svtools: HTML import: don't put lone surrogates in OUString'".) Other uses of rtl::isUnicodeCodePoint might also want to use rtl::isUnicodeScalarValue instead. As a side effect, this change also introduces rtl::isSurrogate, which is useful in a few places as well. Change-Id: I9245f4f98b83877145a4d392f0ddb7c5d824a535 --- sax/source/expatwrap/saxwriter.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sax') diff --git a/sax/source/expatwrap/saxwriter.cxx b/sax/source/expatwrap/saxwriter.cxx index 71d3fba62547..8303afa145d7 100644 --- a/sax/source/expatwrap/saxwriter.cxx +++ b/sax/source/expatwrap/saxwriter.cxx @@ -406,7 +406,7 @@ inline bool SaxWriterHelper::convertToXML( const sal_Unicode * pStr, OSL_ENSURE( nSurrogate != 0, "lone 2nd Unicode surrogate" ); nSurrogate = ( nSurrogate << 10 ) | ( c & 0x03ff ); - if( rtl::isUnicodeCodePoint(nSurrogate) && nSurrogate >= 0x00010000 ) + if( rtl::isUnicodeScalarValue(nSurrogate) && nSurrogate >= 0x00010000 ) { sal_Int8 aBytes[] = { sal_Int8(0xF0 | ((nSurrogate >> 18) & 0x0F)), sal_Int8(0x80 | ((nSurrogate >> 12) & 0x3F)), @@ -851,7 +851,7 @@ inline sal_Int32 calcXMLByteLength( const OUString& rStr, { // 2. surrogate: write as UTF-8 (if range is OK nSurrogate = ( nSurrogate << 10 ) | ( c & 0x03ff ); - if( rtl::isUnicodeCodePoint(nSurrogate) && nSurrogate >= 0x00010000 ) + if( rtl::isUnicodeScalarValue(nSurrogate) && nSurrogate >= 0x00010000 ) nOutputLength += 4; nSurrogate = 0; } -- cgit