[Libreoffice-commits] core.git: vcl/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Sun Jan 27 10:44:39 UTC 2019


 vcl/source/font/FeatureParser.cxx |   19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

New commits:
commit b8fdb4c9c4a3451dc7bec7cd0e8424e8047ead6a
Author:     Matteo Casalin <matteo.casalin at yahoo.com>
AuthorDate: Sat Jan 26 00:33:34 2019 +0100
Commit:     Matteo Casalin <matteo.casalin at yahoo.com>
CommitDate: Sun Jan 27 11:44:17 2019 +0100

    getToken: reuse known index information
    
    Change-Id: I87f274addcba0776016e9996a0b568f503e2081a
    Reviewed-on: https://gerrit.libreoffice.org/66939
    Tested-by: Jenkins
    Reviewed-by: Matteo Casalin <matteo.casalin at yahoo.com>

diff --git a/vcl/source/font/FeatureParser.cxx b/vcl/source/font/FeatureParser.cxx
index abfda4b0734d..a7626a564942 100644
--- a/vcl/source/font/FeatureParser.cxx
+++ b/vcl/source/font/FeatureParser.cxx
@@ -17,27 +17,30 @@ namespace font
 {
 OUString trimFontNameFeatures(OUString const& rFontName)
 {
-    OUString sResultName(rFontName);
+    const sal_Int32 nPrefixIdx{ rFontName.indexOf(vcl::font::FeaturePrefix) };
 
-    if (sResultName.indexOf(vcl::font::FeaturePrefix) < 0)
-        return sResultName;
+    if (nPrefixIdx < 0)
+        return rFontName;
 
-    return sResultName.getToken(0, vcl::font::FeaturePrefix);
+    return rFontName.copy(0, nPrefixIdx);
 }
 
 FeatureParser::FeatureParser(OUString const& rFontName)
 {
-    if (rFontName.indexOf(vcl::font::FeaturePrefix) < 0)
+    sal_Int32 nPrefixIdx{ rFontName.indexOf(vcl::font::FeaturePrefix) };
+
+    if (nPrefixIdx < 0)
         return;
 
-    OUString sName = rFontName.getToken(1, vcl::font::FeaturePrefix);
+    OUString sName = rFontName.getToken(0, vcl::font::FeaturePrefix, ++nPrefixIdx);
     sal_Int32 nIndex = 0;
     do
     {
         OUString sToken = sName.getToken(0, vcl::font::FeatureSeparator, nIndex);
 
-        OUString sID = sToken.getToken(0, '=');
-        OUString sValue = sToken.getToken(1, '=');
+        sal_Int32 nInnerIdx{ 0 };
+        OUString sID = sToken.getToken(0, '=', nInnerIdx);
+        OUString sValue = sToken.getToken(0, '=', nInnerIdx);
 
         if (sID.getLength() == 4 && sValue != "0")
         {


More information about the Libreoffice-commits mailing list