summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatteo Casalin <matteo.casalin@yahoo.com>2018-01-14 19:12:30 +0100
committerMichael Stahl <Michael.Stahl@cib.de>2018-04-09 14:18:17 +0200
commitdf041d902eafb1e273eb360103252994bbd2cde2 (patch)
treef2d2a503717ec6f6a60d2cad5c44aa929745be8a
parentforcepoint #33 ensure payload is a EMFPPath (diff)
downloadcore-df041d902eafb1e273eb360103252994bbd2cde2.tar.gz
core-df041d902eafb1e273eb360103252994bbd2cde2.zip
Return correct length for Authority token
Regression from f4fd558ac9d61fe06aa0f56d829916ef9e5ee7b9 Take the chance to calculate token prefix just once. Change-Id: I19ce5cb037198cb918e79c760a92b285f9b725f1 (cherry picked from commit 34b98af8e5a4e568d8316700bea1ce604d825ce8) Reviewed-on: https://gerrit.libreoffice.org/52621 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit c6e8460a5b47fa6fa971dde2a89e80662b6e97ae) Reviewed-on: https://gerrit.libreoffice.org/52626 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--sw/source/core/tox/tox.cxx33
1 files changed, 16 insertions, 17 deletions
diff --git a/sw/source/core/tox/tox.cxx b/sw/source/core/tox/tox.cxx
index b6baa1366d96..c0bbd8f4228c 100644
--- a/sw/source/core/tox/tox.cxx
+++ b/sw/source/core/tox/tox.cxx
@@ -659,30 +659,29 @@ static FormTokenType lcl_GetTokenType(const OUString & sToken,
{
static struct
{
- OUString sNm;
- sal_uInt16 nOffset;
- FormTokenType eToken;
+ OUString sTokenStart;
+ sal_Int16 nTokenLength;
+ FormTokenType eTokenType;
} const aTokenArr[] = {
- { SwForm::GetFormTab(), 1, TOKEN_TAB_STOP },
- { SwForm::GetFormPageNums(), 1, TOKEN_PAGE_NUMS },
- { SwForm::GetFormLinkStt(), 1, TOKEN_LINK_START },
- { SwForm::GetFormLinkEnd(), 1, TOKEN_LINK_END },
- { SwForm::GetFormEntryNum(), 1, TOKEN_ENTRY_NO },
- { SwForm::GetFormEntryText(), 1, TOKEN_ENTRY_TEXT },
- { SwForm::GetFormChapterMark(), 1, TOKEN_CHAPTER_INFO },
- { SwForm::GetFormText(), 1, TOKEN_TEXT },
- { SwForm::GetFormEntry(), 1, TOKEN_ENTRY },
- { SwForm::GetFormAuth(), 3, TOKEN_AUTHORITY }
+ { SwForm::GetFormTab().copy(0, 2), 3, TOKEN_TAB_STOP },
+ { SwForm::GetFormPageNums().copy(0, 2), 3, TOKEN_PAGE_NUMS },
+ { SwForm::GetFormLinkStt().copy(0, 3), 4, TOKEN_LINK_START },
+ { SwForm::GetFormLinkEnd().copy(0, 3), 4, TOKEN_LINK_END },
+ { SwForm::GetFormEntryNum().copy(0, 3), 4, TOKEN_ENTRY_NO },
+ { SwForm::GetFormEntryText().copy(0, 3), 4, TOKEN_ENTRY_TEXT },
+ { SwForm::GetFormChapterMark().copy(0, 2), 3, TOKEN_CHAPTER_INFO },
+ { SwForm::GetFormText().copy(0, 2), 3, TOKEN_TEXT },
+ { SwForm::GetFormEntry().copy(0, 2), 3, TOKEN_ENTRY },
+ { SwForm::GetFormAuth().copy(0, 2), 5, TOKEN_AUTHORITY }
};
for(const auto & i : aTokenArr)
{
- const sal_Int32 nLen(i.sNm.getLength());
- if( sToken.startsWith( i.sNm.copy(0, nLen - i.nOffset) ))
+ if( sToken.startsWith( i.sTokenStart ) )
{
if (pTokenLen)
- *pTokenLen = nLen;
- return i.eToken;
+ *pTokenLen = i.nTokenLength;
+ return i.eTokenType;
}
}