writerfilter/source/rtftok/rtftokenizer.cxx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-)
New commits: commit c168f15a74fbd6231e1bbbe93939d8e26937b517 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Sun Mar 27 21:37:49 2022 +0200 Commit: Julien Nabet <serval2...@yahoo.fr> CommitDate: Mon Mar 28 17:58:56 2022 +0200 Micro-optim of RTFTokenizer::resolveKeyword Change-Id: I320df7087e5b9594e7d08a892468ad2cc9a00426 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132152 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2...@yahoo.fr> diff --git a/writerfilter/source/rtftok/rtftokenizer.cxx b/writerfilter/source/rtftok/rtftokenizer.cxx index 6e9580ed51e2..4dc80416c64f 100644 --- a/writerfilter/source/rtftok/rtftokenizer.cxx +++ b/writerfilter/source/rtftok/rtftokenizer.cxx @@ -183,10 +183,6 @@ void RTFTokenizer::popGroup() { m_nGroup--; } RTFError RTFTokenizer::resolveKeyword() { char ch; - OStringBuffer aBuf(32); - bool bNeg = false; - bool bParam = false; - int nParam = 0; Strm().ReadChar(ch); if (Strm().eof()) @@ -194,12 +190,11 @@ RTFError RTFTokenizer::resolveKeyword() if (!rtl::isAsciiAlpha(static_cast<unsigned char>(ch))) { - aBuf.append(ch); - OString aKeyword = aBuf.makeStringAndClear(); // control symbols aren't followed by a space, so we can return here // without doing any SeekRel() - return dispatchKeyword(aKeyword, bParam, nParam); + return dispatchKeyword(OString(ch), false, 0); } + OStringBuffer aBuf(32); while (rtl::isAsciiAlpha(static_cast<unsigned char>(ch))) { aBuf.append(ch); @@ -215,6 +210,7 @@ RTFError RTFTokenizer::resolveKeyword() } } + bool bNeg = false; if (ch == '-') { // in case we'll have a parameter, that will be negative @@ -223,6 +219,8 @@ RTFError RTFTokenizer::resolveKeyword() if (Strm().eof()) return RTFError::UNEXPECTED_EOF; } + bool bParam = false; + int nParam = 0; if (rtl::isAsciiDigit(static_cast<unsigned char>(ch))) { OStringBuffer aParameter;