vcl/source/control/field.cxx | 10 ++++++---- vcl/source/filter/ipdf/pdfdocument.cxx | 9 +++++---- vcl/source/gdi/mtfxmldump.cxx | 2 +- vcl/source/gdi/pdfwriter_impl.cxx | 27 +++++++++++++-------------- vcl/source/treelist/imap2.cxx | 19 ++++++++++--------- vcl/source/window/window.cxx | 4 ++-- vcl/unx/generic/fontmanager/fontconfig.cxx | 2 +- vcl/unx/generic/fontmanager/fontmanager.cxx | 10 +++++----- vcl/unx/generic/print/psputil.cxx | 2 +- vcl/unx/generic/printer/jobdata.cxx | 27 ++++++++++++++++++--------- vcl/unx/generic/printer/ppdparser.cxx | 2 +- vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx | 2 +- 12 files changed, 64 insertions(+), 52 deletions(-)
New commits: commit 4f4e3f3aae0b733283b549fdde586d8409b0c552 Author: Noel Grandin <[email protected]> AuthorDate: Fri Jun 3 08:33:49 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Fri Jun 3 10:02:42 2022 +0200 elide some makeStringAndClear() class when we are passing the result to a string_view, it is pointless. Change-Id: Id5906bbd7315e80358d09a0d036e605c54ccbf93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135328 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx index 0e0093714f5a..90aef01f115f 100644 --- a/vcl/source/control/field.cxx +++ b/vcl/source/control/field.cxx @@ -23,6 +23,7 @@ #include <string_view> #include <sal/log.hxx> +#include <o3tl/string_view.hxx> #include <osl/diagnose.h> #include <comphelper/string.hxx> @@ -307,9 +308,10 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& rValue, // Convert fractional strings if (bFrac) { // Convert to fraction - sal_Int64 nWholeNum = aStr1.makeStringAndClear().toInt64(); - sal_Int64 nNum = aStrNum.makeStringAndClear().toInt64(); - sal_Int64 nDenom = aStrDenom.makeStringAndClear().toInt64(); + sal_Int64 nWholeNum = o3tl::toInt64(aStr1); + aStr1.setLength(0); + sal_Int64 nNum = o3tl::toInt64(aStrNum); + sal_Int64 nDenom = o3tl::toInt64(aStrDenom); if (nDenom == 0) return false; // Division by zero double nFrac2Dec = nWholeNum + static_cast<double>(nNum)/nDenom; // Convert to double for floating point precision OUStringBuffer aStrFrac; @@ -336,7 +338,7 @@ bool ImplNumericGetValue( const OUString& rStr, sal_Int64& rValue, if (aStr2.getLength() < nDecDigits) string::padToLength(aStr2, nDecDigits, '0'); - aStr = aStr1.makeStringAndClear() + aStr2.makeStringAndClear(); + aStr = aStr1 + aStr2; // check range nValue = aStr.toInt64(); diff --git a/vcl/source/filter/ipdf/pdfdocument.cxx b/vcl/source/filter/ipdf/pdfdocument.cxx index 3a65d06a1540..493826e38f8f 100644 --- a/vcl/source/filter/ipdf/pdfdocument.cxx +++ b/vcl/source/filter/ipdf/pdfdocument.cxx @@ -139,7 +139,7 @@ sal_Int32 PDFDocument::WriteSignatureObject(const OUString& rDescription, bool b // Reserve space for the PKCS#7 object. OStringBuffer aContentFiller(MAX_SIGNATURE_CONTENT_LENGTH); comphelper::string::padToLength(aContentFiller, MAX_SIGNATURE_CONTENT_LENGTH, '0'); - aSigBuffer.append(aContentFiller.makeStringAndClear()); + aSigBuffer.append(aContentFiller); aSigBuffer.append(">\n/Type/Sig/SubFilter"); if (bAdES) aSigBuffer.append("/ETSI.CAdES.detached"); @@ -164,7 +164,7 @@ sal_Int32 PDFDocument::WriteSignatureObject(const OUString& rDescription, bool b // should be enough. OStringBuffer aByteRangeFiller; comphelper::string::padToLength(aByteRangeFiller, 100, ' '); - aSigBuffer.append(aByteRangeFiller.makeStringAndClear()); + aSigBuffer.append(aByteRangeFiller); // Finish the Sig obj. aSigBuffer.append(" /Filter/Adobe.PPKMS"); @@ -269,7 +269,7 @@ sal_Int32 PDFDocument::WriteAppearanceObject(tools::Rectangle& rSignatureRectang assert(pPage && "aContentStreams is only filled if there was a pPage"); OStringBuffer aBuffer; aCopier.copyPageResources(pPage, aBuffer); - aEditBuffer.WriteOString(aBuffer.makeStringAndClear()); + aEditBuffer.WriteOString(aBuffer); } aEditBuffer.WriteCharPtr("/BBox[0 0 "); @@ -2138,7 +2138,8 @@ bool PDFNumberElement::Read(SvStream& rStream) { rStream.SeekRel(-1); m_nLength = rStream.Tell() - m_nOffset; - m_fValue = aBuf.makeStringAndClear().toDouble(); + m_fValue = o3tl::toDouble(aBuf); + aBuf.setLength(0); SAL_INFO("vcl.filter", "PDFNumberElement::Read: m_fValue is '" << m_fValue << "'"); return true; } diff --git a/vcl/source/gdi/mtfxmldump.cxx b/vcl/source/gdi/mtfxmldump.cxx index 26e1afd7a6c4..2dc7e7b9d3e1 100644 --- a/vcl/source/gdi/mtfxmldump.cxx +++ b/vcl/source/gdi/mtfxmldump.cxx @@ -818,7 +818,7 @@ void MetafileXmlDump::writeXml(const GDIMetaFile& rMetaFile, tools::XmlWriter& r sDxLengthString.append(pMetaTextArrayAction->GetDXArray()[aIndex + i]); sDxLengthString.append(" "); } - rWriter.content(sDxLengthString.makeStringAndClear()); + rWriter.content(sDxLengthString); rWriter.endElement(); } diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx index 54f5a0416561..23ca498ea73b 100644 --- a/vcl/source/gdi/pdfwriter_impl.cxx +++ b/vcl/source/gdi/pdfwriter_impl.cxx @@ -2138,7 +2138,7 @@ sal_Int32 PDFWriterImpl::emitStructure( PDFStructureElement& rEle ) aLocBuf.append( aCountry ); } aLine.append( "/Lang" ); - appendLiteralStringEncrypt( aLocBuf.makeStringAndClear(), rEle.m_nObject, aLine ); + appendLiteralStringEncrypt( aLocBuf, rEle.m_nObject, aLine ); aLine.append( "\n" ); } } @@ -3415,7 +3415,7 @@ we check in the following sequence: OStringBuffer aLineLoc( 1024 ); appendDestinationName( aFragment , aLineLoc ); //substitute the fragment - aTargetURL.SetMark( OStringToOUString(aLineLoc.makeStringAndClear(), RTL_TEXTENCODING_ASCII_US) ); + aTargetURL.SetMark( OStringToOUString(aLineLoc, RTL_TEXTENCODING_ASCII_US) ); } OUString aURL = bUnparsedURI ? url : aTargetURL.GetMainURL( bFileSpec ? INetURLObject::DecodeMechanism::WithCharset : @@ -4457,7 +4457,7 @@ bool PDFWriterImpl::emitWidgetAnnotations() if( rWidget.m_nDest != -1 && appendDest( m_aDestinationIdTranslation[ rWidget.m_nDest ], aDest ) ) { aLine.append( "/AA<</D<</Type/Action/S/GoTo/D " ); - aLine.append( aDest.makeStringAndClear() ); + aLine.append( aDest ); aLine.append( ">>>>\n" ); } else if( rWidget.m_aListEntries.empty() ) @@ -4762,32 +4762,32 @@ bool PDFWriterImpl::emitCatalog() if( aInitPageRef.getLength() > 1 ) { aLine.append( "/OpenAction[" ); - aLine.append( aInitPageRef.makeStringAndClear() ); + aLine.append( aInitPageRef ); aLine.append( " /XYZ null null 0]\n" ); } break; case PDFWriter::FitInWindow : aLine.append( "/OpenAction[" ); - aLine.append( aInitPageRef.makeStringAndClear() ); + aLine.append( aInitPageRef ); aLine.append( " /Fit]\n" ); //Open fit page break; case PDFWriter::FitWidth : aLine.append( "/OpenAction[" ); - aLine.append( aInitPageRef.makeStringAndClear() ); + aLine.append( aInitPageRef ); aLine.append( " /FitH " ); aLine.append( g_nInheritedPageHeight );//Open fit width aLine.append( "]\n" ); break; case PDFWriter::FitVisible : aLine.append( "/OpenAction[" ); - aLine.append( aInitPageRef.makeStringAndClear() ); + aLine.append( aInitPageRef ); aLine.append( " /FitBH " ); aLine.append( g_nInheritedPageHeight );//Open fit visible aLine.append( "]\n" ); break; case PDFWriter::ActionZoom : aLine.append( "/OpenAction[" ); - aLine.append( aInitPageRef.makeStringAndClear() ); + aLine.append( aInitPageRef ); aLine.append( " /XYZ null null " ); if( m_aContext.Zoom >= 50 && m_aContext.Zoom <= 1600 ) aLine.append( static_cast<double>(m_aContext.Zoom)/100.0 ); @@ -4865,7 +4865,7 @@ bool PDFWriterImpl::emitCatalog() aLocBuf.append( aCountry ); } aLine.append( "/Lang" ); - appendLiteralStringEncrypt( aLocBuf.makeStringAndClear(), m_nCatalogObject, aLine ); + appendLiteralStringEncrypt( aLocBuf, m_nCatalogObject, aLine ); aLine.append( "\n" ); } } @@ -4948,7 +4948,7 @@ bool PDFWriterImpl::emitSignature() // reserve some space for the PKCS#7 object OStringBuffer aContentFiller( MAX_SIGNATURE_CONTENT_LENGTH ); comphelper::string::padToLength(aContentFiller, MAX_SIGNATURE_CONTENT_LENGTH, '0'); - aLine.append( aContentFiller.makeStringAndClear() ); + aLine.append( aContentFiller ); aLine.append( ">\n/Type/Sig/SubFilter/adbe.pkcs7.detached"); if( !m_aContext.DocumentInfo.Author.isEmpty() ) @@ -4973,7 +4973,7 @@ bool PDFWriterImpl::emitSignature() // The real value will be overwritten in the finalizeSignature method OStringBuffer aByteRangeFiller( 100 ); comphelper::string::padToLength(aByteRangeFiller, 100, ' '); - aLine.append( aByteRangeFiller.makeStringAndClear() ); + aLine.append( aByteRangeFiller ); aLine.append(" /Filter/Adobe.PPKMS"); //emit reason, location and contactinfo @@ -5489,7 +5489,7 @@ bool PDFWriterImpl::emitTrailer() if( !aDocChecksum.isEmpty() ) { aLine.append( "/DocChecksum /" ); - aLine.append( aDocChecksum.makeStringAndClear() ); + aLine.append( aDocChecksum ); aLine.append( "\n" ); } if( !m_aAdditionalStreams.empty() ) @@ -6088,8 +6088,7 @@ void PDFWriterImpl::drawHorizontalGlyphs( } aKernedLine.append( ">]TJ\n" ); aUnkernedLine.append( ">Tj\n" ); - rLine.append( - (bNeedKern ? aKernedLine : aUnkernedLine).makeStringAndClear() ); + rLine.append( bNeedKern ? aKernedLine : aUnkernedLine ); // set beginning of next run nBeginRun = aRunEnds[nRun]; diff --git a/vcl/source/treelist/imap2.cxx b/vcl/source/treelist/imap2.cxx index 4433c2b6d587..980dae3eee48 100644 --- a/vcl/source/treelist/imap2.cxx +++ b/vcl/source/treelist/imap2.cxx @@ -20,6 +20,7 @@ #include <comphelper/string.hxx> #include <string.h> +#include <o3tl/string_view.hxx> #include <rtl/strbuf.hxx> #include <vcl/outdev.hxx> #include <vcl/svapp.hxx> @@ -76,7 +77,7 @@ void IMapRectangleObject::WriteCERN( SvStream& rOStm ) const AppendCERNCoords(aStrBuf, aRect.BottomRight()); AppendCERNURL(aStrBuf); - rOStm.WriteLine(aStrBuf.makeStringAndClear()); + rOStm.WriteLine(aStrBuf); } void IMapRectangleObject::WriteNCSA( SvStream& rOStm ) const @@ -87,7 +88,7 @@ void IMapRectangleObject::WriteNCSA( SvStream& rOStm ) const AppendNCSACoords(aStrBuf, aRect.TopLeft()); AppendNCSACoords(aStrBuf, aRect.BottomRight()); - rOStm.WriteLine(aStrBuf.makeStringAndClear()); + rOStm.WriteLine(aStrBuf); } void IMapCircleObject::WriteCERN( SvStream& rOStm ) const @@ -99,7 +100,7 @@ void IMapCircleObject::WriteCERN( SvStream& rOStm ) const aStrBuf.append(' '); AppendCERNURL(aStrBuf); - rOStm.WriteLine(aStrBuf.makeStringAndClear()); + rOStm.WriteLine(aStrBuf); } void IMapCircleObject::WriteNCSA( SvStream& rOStm ) const @@ -110,7 +111,7 @@ void IMapCircleObject::WriteNCSA( SvStream& rOStm ) const AppendNCSACoords(aStrBuf, aCenter); AppendNCSACoords(aStrBuf, aCenter + Point(nRadius, 0)); - rOStm.WriteLine(aStrBuf.makeStringAndClear()); + rOStm.WriteLine(aStrBuf); } void IMapPolygonObject::WriteCERN( SvStream& rOStm ) const @@ -123,7 +124,7 @@ void IMapPolygonObject::WriteCERN( SvStream& rOStm ) const AppendCERNURL(aStrBuf); - rOStm.WriteLine(aStrBuf.makeStringAndClear()); + rOStm.WriteLine(aStrBuf); } void IMapPolygonObject::WriteNCSA( SvStream& rOStm ) const @@ -136,7 +137,7 @@ void IMapPolygonObject::WriteNCSA( SvStream& rOStm ) const for (sal_uInt16 i = 0; i < nCount; ++i) AppendNCSACoords(aStrBuf, aPoly[i]); - rOStm.WriteLine(aStrBuf.makeStringAndClear()); + rOStm.WriteLine(aStrBuf); } void ImageMap::Write( SvStream& rOStm, IMapFormat nFormat ) const @@ -327,7 +328,7 @@ Point ImageMap::ImpReadCERNCoords( const char** ppStr ) while( NOTEOL( cChar ) && ( cChar != ')' ) ) cChar = *(*ppStr)++; - aPt = Point( aStrX.makeStringAndClear().toInt32(), aStrY.makeStringAndClear().toInt32() ); + aPt = Point( o3tl::toInt32(aStrX), o3tl::toInt32(aStrY) ); } } @@ -351,7 +352,7 @@ tools::Long ImageMap::ImpReadCERNRadius( const char** ppStr ) } } - return aStr.makeStringAndClear().toInt32(); + return o3tl::toInt32(aStr); } OUString ImageMap::ImpReadCERNURL( const char** ppStr ) @@ -477,7 +478,7 @@ Point ImageMap::ImpReadNCSACoords( const char** ppStr ) cChar = *(*ppStr)++; } - aPt = Point( aStrX.makeStringAndClear().toInt32(), aStrY.makeStringAndClear().toInt32() ); + aPt = Point( o3tl::toInt32(aStrX), o3tl::toInt32(aStrY) ); } } diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 6c5eed3e4621..fe6f788e8ecc 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -260,7 +260,7 @@ void Window::dispose() pTempWin = pTempWin->mpWindowImpl->mpNext; } OSL_FAIL( aTempStr.getStr() ); - Application::Abort(OStringToOUString(aTempStr.makeStringAndClear(), RTL_TEXTENCODING_UTF8)); + Application::Abort(OStringToOUString(aTempStr, RTL_TEXTENCODING_UTF8)); } if (mpWindowImpl->mpFrameData != nullptr) @@ -320,7 +320,7 @@ void Window::dispose() pTempWin = pTempWin->mpWindowImpl->mpNext; } OSL_FAIL( aTempStr.getStr() ); - Application::Abort(OStringToOUString(aTempStr.makeStringAndClear(), RTL_TEXTENCODING_UTF8)); + Application::Abort(OStringToOUString(aTempStr, RTL_TEXTENCODING_UTF8)); } vcl::Window* pMyParent = GetParent(); diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx index 7557c2a6abcb..f259277304d0 100644 --- a/vcl/unx/generic/fontmanager/fontconfig.cxx +++ b/vcl/unx/generic/fontmanager/fontconfig.cxx @@ -953,7 +953,7 @@ namespace OStringBuffer aBuf(unicode::getExemplarLanguageForUScriptCode(eScript)); if (const char* pScriptCode = uscript_getShortName(eScript)) aBuf.append('-').append(pScriptCode); - return OStringToOUString(aBuf.makeStringAndClear(), RTL_TEXTENCODING_UTF8); + return OStringToOUString(aBuf, RTL_TEXTENCODING_UTF8); } } diff --git a/vcl/unx/generic/fontmanager/fontmanager.cxx b/vcl/unx/generic/fontmanager/fontmanager.cxx index 3388c273b974..e4ca98171059 100644 --- a/vcl/unx/generic/fontmanager/fontmanager.cxx +++ b/vcl/unx/generic/fontmanager/fontmanager.cxx @@ -355,19 +355,19 @@ OUString PrintFontManager::convertSfntName( void* pRecord ) switch( pNameRecord->encodingID ) { case 2: - aValue = OStringToOUString( aName.makeStringAndClear(), RTL_TEXTENCODING_MS_932 ); + aValue = OStringToOUString( aName, RTL_TEXTENCODING_MS_932 ); break; case 3: - aValue = OStringToOUString( aName.makeStringAndClear(), RTL_TEXTENCODING_MS_936 ); + aValue = OStringToOUString( aName, RTL_TEXTENCODING_MS_936 ); break; case 4: - aValue = OStringToOUString( aName.makeStringAndClear(), RTL_TEXTENCODING_MS_950 ); + aValue = OStringToOUString( aName, RTL_TEXTENCODING_MS_950 ); break; case 5: - aValue = OStringToOUString( aName.makeStringAndClear(), RTL_TEXTENCODING_MS_949 ); + aValue = OStringToOUString( aName, RTL_TEXTENCODING_MS_949 ); break; case 6: - aValue = OStringToOUString( aName.makeStringAndClear(), RTL_TEXTENCODING_MS_1361 ); + aValue = OStringToOUString( aName, RTL_TEXTENCODING_MS_1361 ); break; } } diff --git a/vcl/unx/generic/print/psputil.cxx b/vcl/unx/generic/print/psputil.cxx index 1e82819d048b..b4837138aafa 100644 --- a/vcl/unx/generic/print/psputil.cxx +++ b/vcl/unx/generic/print/psputil.cxx @@ -66,7 +66,7 @@ getAlignedHexValueOf (sal_Int32 nValue, OStringBuffer& pBuffer) { OStringBuffer scratch; nPrecision -= getHexValueOf (nValue % 256, scratch ); - pBuffer.insert(start, scratch.makeStringAndClear()); + pBuffer.insert(start, scratch); nValue /= 256; } diff --git a/vcl/unx/generic/printer/jobdata.cxx b/vcl/unx/generic/printer/jobdata.cxx index db9d929d4208..9707a81096ed 100644 --- a/vcl/unx/generic/printer/jobdata.cxx +++ b/vcl/unx/generic/printer/jobdata.cxx @@ -128,24 +128,28 @@ bool JobData::getStreamBuffer( void*& pData, sal_uInt32& bytes ) aLine.append("printer="); aLine.append(OUStringToOString(m_aPrinterName, RTL_TEXTENCODING_UTF8)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); aLine.append("orientation="); if (m_eOrientation == orientation::Landscape) aLine.append("Landscape"); else aLine.append("Portrait"); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); aLine.append("copies="); aLine.append(static_cast<sal_Int32>(m_nCopies)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); if (m_nPDFDevice > 0) { aLine.append("collate="); aLine.append(OString::boolean(m_bCollate)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); } aLine.append("marginadjustment="); @@ -156,23 +160,28 @@ bool JobData::getStreamBuffer( void*& pData, sal_uInt32& bytes ) aLine.append(static_cast<sal_Int32>(m_nTopMarginAdjust)); aLine.append(','); aLine.append(static_cast<sal_Int32>(m_nBottomMarginAdjust)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); aLine.append("colordepth="); aLine.append(static_cast<sal_Int32>(m_nColorDepth)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); aLine.append("pslevel="); aLine.append(static_cast<sal_Int32>(m_nPSLevel)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); aLine.append("pdfdevice="); aLine.append(static_cast<sal_Int32>(m_nPDFDevice)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); aLine.append("colordevice="); aLine.append(static_cast<sal_Int32>(m_nColorDevice)); - aStream.WriteLine(aLine.makeStringAndClear()); + aStream.WriteLine(aLine); + aLine.setLength(0); // now append the PPDContext stream buffer aStream.WriteLine( "PPDContextData" ); diff --git a/vcl/unx/generic/printer/ppdparser.cxx b/vcl/unx/generic/printer/ppdparser.cxx index 13fcf8daaf23..c16d257e2f04 100644 --- a/vcl/unx/generic/printer/ppdparser.cxx +++ b/vcl/unx/generic/printer/ppdparser.cxx @@ -937,7 +937,7 @@ OUString PPDParser::handleTranslation(const OString& i_rString, bool bIsGlobaliz else aTrans.append( *pStr++ ); } - return OStringToOUString( aTrans.makeStringAndClear(), bIsGlobalized ? RTL_TEXTENCODING_UTF8 : m_aFileEncoding ); + return OStringToOUString( aTrans, bIsGlobalized ? RTL_TEXTENCODING_UTF8 : m_aFileEncoding ); } namespace diff --git a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx index a7ba18607876..183ea20a0a4a 100644 --- a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx +++ b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx @@ -1957,7 +1957,7 @@ GtkFileFilter* SalGtkFilePicker::implAddFilter( const OUString& rFilter, const O gtk_list_store_append (m_pFilterStore, &iter); gtk_list_store_set (m_pFilterStore, &iter, 0, OUStringToOString(shrinkFilterName( rFilter, true ), RTL_TEXTENCODING_UTF8).getStr(), - 1, OUStringToOString(aTokens.makeStringAndClear(), RTL_TEXTENCODING_UTF8).getStr(), + 1, OUStringToOString(aTokens, RTL_TEXTENCODING_UTF8).getStr(), 2, aFilterName.getStr(), 3, OUStringToOString(rType, RTL_TEXTENCODING_UTF8).getStr(), -1);
