summaryrefslogtreecommitdiff
path: root/writerfilter/source/rtftok/rtfdocumentimpl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source/rtftok/rtfdocumentimpl.cxx')
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx17
1 files changed, 10 insertions, 7 deletions
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index c396f7fb1787..f2873ecf97b8 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -1181,7 +1181,7 @@ RTFError RTFDocumentImpl::resolveChars(char ch)
return RTFError::OK;
}
- OStringBuffer aBuf;
+ OStringBuffer aBuf(512);
bool bUnicodeChecked = false;
bool bSkipped = false;
@@ -1275,8 +1275,9 @@ RTFError RTFDocumentImpl::resolveChars(char ch)
return RTFError::OK;
}
- OUString aOUStr(OStringToOUString(aStr, m_aStates.top().getCurrentEncoding()));
- SAL_INFO("writerfilter.rtf", "RTFDocumentImpl::resolveChars: collected '" << aOUStr << "'");
+ SAL_INFO("writerfilter.rtf",
+ "RTFDocumentImpl::resolveChars: collected '"
+ << OStringToOUString(aStr, m_aStates.top().getCurrentEncoding()) << "'");
if (m_aStates.top().getDestination() == Destination::COLORTABLE)
{
@@ -2323,7 +2324,7 @@ RTFError RTFDocumentImpl::popState()
{
OUString aOrig = pValue->getString();
- OUStringBuffer aBuf;
+ OUStringBuffer aBuf(aOrig.getLength() * 2);
sal_Int32 nReplaces = 1;
for (int i = 0; i < aOrig.getLength(); i++)
{
@@ -2337,7 +2338,7 @@ RTFError RTFDocumentImpl::popState()
- aState.getLevelNumbers().size()));
}
else
- aBuf.append(std::u16string_view(aOrig).substr(i, 1));
+ aBuf.append(aOrig[i]);
}
pValue->setString(aBuf.makeStringAndClear());
@@ -3566,7 +3567,8 @@ void RTFDocumentImpl::checkUnicode(bool bUnicode, bool bHex)
{
if (bUnicode && !m_aUnicodeBuffer.isEmpty())
{
- OUString aString = m_aUnicodeBuffer.makeStringAndClear();
+ OUString aString = m_aUnicodeBuffer.toString();
+ m_aUnicodeBuffer.setLength(0);
text(aString);
}
if (bHex && !m_aHexBuffer.isEmpty())
@@ -3575,7 +3577,8 @@ void RTFDocumentImpl::checkUnicode(bool bUnicode, bool bHex)
if (m_aStates.top().getDestination() == Destination::FONTENTRY
&& m_aStates.top().getCurrentEncoding() == RTL_TEXTENCODING_SYMBOL)
nEncoding = RTL_TEXTENCODING_MS_1252;
- OUString aString = OStringToOUString(m_aHexBuffer.makeStringAndClear(), nEncoding);
+ OUString aString = OStringToOUString(m_aHexBuffer.toString(), nEncoding);
+ m_aHexBuffer.setLength(0);
text(aString);
}
}