[Libreoffice-commits] core.git: svtools/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Sun Apr 19 17:43:26 UTC 2020
svtools/source/svhtml/parhtml.cxx | 14 +-------------
svtools/source/svrtf/parrtf.cxx | 16 +++-------------
2 files changed, 4 insertions(+), 26 deletions(-)
New commits:
commit 85a6aa5526c1e38865250e88ceb6bf02345248b2
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sun Apr 19 18:35:20 2020 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sun Apr 19 19:42:50 2020 +0200
tdf#131951 related, improve perf
similar to
commit 9429dacc7ff93f99dd84532357020669df33a0c5
tdf#131951: automatically increase buffer size
in a few places, let the OUStringBuffer handle large tokens,
it has faster handling than repeatedly appending to an OUString
Change-Id: I609b84b36e817fbcd6d366c53cd2e8b865216712
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92503
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx
index be0b8fed24d6..b3664713affa 100644
--- a/svtools/source/svhtml/parhtml.cxx
+++ b/svtools/source/svhtml/parhtml.cxx
@@ -925,12 +925,6 @@ HtmlTokenId HTMLParser::GetNextRawToken()
while( '-' == nNextCh && IsParserWorking() )
{
bTwoMinus = true;
-
- if( MAX_LEN == sTmpBuffer.getLength() )
- {
- aToken += sTmpBuffer;
- sTmpBuffer.setLength(0);
- }
sTmpBuffer.appendUtf32( nNextCh );
nNextCh = GetNextChar();
}
@@ -983,8 +977,7 @@ HtmlTokenId HTMLParser::GetNextRawToken()
break;
}
- if( (!bContinue && !sTmpBuffer.isEmpty()) ||
- MAX_LEN == sTmpBuffer.getLength() )
+ if( !bContinue && !sTmpBuffer.isEmpty() )
{
aToken += sTmpBuffer;
sTmpBuffer.setLength(0);
@@ -1063,11 +1056,6 @@ HtmlTokenId HTMLParser::GetNextToken_()
OUStringBuffer sTmpBuffer;
do {
sTmpBuffer.appendUtf32( nNextCh );
- if( MAX_LEN == sTmpBuffer.getLength() )
- {
- aToken += sTmpBuffer;
- sTmpBuffer.setLength(0);
- }
nNextCh = GetNextChar();
} while( '>' != nNextCh && '/' != nNextCh && !rtl::isAsciiWhiteSpace( nNextCh ) &&
IsParserWorking() && !rInput.eof() );
diff --git a/svtools/source/svrtf/parrtf.cxx b/svtools/source/svrtf/parrtf.cxx
index a52b8ee4f3af..8b5ad0a0a7cb 100644
--- a/svtools/source/svrtf/parrtf.cxx
+++ b/svtools/source/svrtf/parrtf.cxx
@@ -99,22 +99,12 @@ int SvRTFParser::GetNextToken_()
{
aToken = "\\";
{
- OUStringBuffer aStrBuffer;
- aStrBuffer.setLength( MAX_TOKEN_LEN );
- sal_Int32 nStrLen = 0;
+ OUStringBuffer aStrBuffer( MAX_TOKEN_LEN );
do {
- aStrBuffer[nStrLen++] = nNextCh;
- if( MAX_TOKEN_LEN == nStrLen )
- {
- aToken += aStrBuffer;
- nStrLen = 0;
- }
+ aStrBuffer.appendUtf32(nNextCh);
nNextCh = GetNextChar();
} while( RTF_ISALPHA( nNextCh ) );
- if( nStrLen )
- {
- aToken += aStrBuffer;
- }
+ aToken += aStrBuffer;
}
// minus before numeric parameters
More information about the Libreoffice-commits
mailing list