sc/source/core/data/table3.cxx |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 009a326d78fb62a80f9631844af324d0294710b6
Author: Michael Meeks <michael.me...@collabora.com>
Date:   Thu Apr 5 14:01:05 2018 +0100

    query entry - preparatory pure re-factor.
    
    No need to check lengths for ENDS_WITH - we get the right offsets
    to start with before indexOf, and separate nStrPos for later.
    
    Change-Id: I75bc58b0b7ac223362c635e2a3161cf78d8a9581
    Reviewed-on: https://gerrit.libreoffice.org/52468
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Eike Rathke <er...@redhat.com>

diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index 15daec1af61e..6e69e2b35d5a 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -2580,17 +2580,22 @@ public:
                 }
                 else
                 {
+                    // Where do we find a match (if at all)
+                    sal_Int32 nStrPos;
+
                     OUString aQueryStr = rItem.maString.getString();
                     const LanguageType nLang = 
ScGlobal::pSysLocale->GetLanguageTag().getLanguageType();
                     OUString aCell( mpTransliteration->transliterate(
                         aCellStr.getString(), nLang, 0, aCellStr.getLength(),
                         nullptr ) );
+
                     OUString aQuer( mpTransliteration->transliterate(
                         aQueryStr, nLang, 0, aQueryStr.getLength(),
                         nullptr ) );
+
                     sal_Int32 nIndex = (rEntry.eOp == SC_ENDS_WITH || 
rEntry.eOp == SC_DOES_NOT_END_WITH) ?
                         (aCell.getLength() - aQuer.getLength()) : 0;
-                    sal_Int32 nStrPos = ((nIndex < 0) ? -1 : aCell.indexOf( 
aQuer, nIndex ));
+                    nStrPos = ((nIndex < 0) ? -1 : aCell.indexOf( aQuer, 
nIndex ));
                     switch (rEntry.eOp)
                     {
                     case SC_EQUAL:
@@ -2608,10 +2613,10 @@ public:
                         bOk = ( nStrPos != 0 );
                         break;
                     case SC_ENDS_WITH:
-                        bOk = (nStrPos >= 0 && nStrPos + aQuer.getLength() == 
aCell.getLength() );
+                        bOk = ( nStrPos >= 0 );
                         break;
                     case SC_DOES_NOT_END_WITH:
-                        bOk = (nStrPos < 0 || nStrPos + aQuer.getLength() != 
aCell.getLength() );
+                        bOk = ( nStrPos < 0 );
                         break;
                     default:
                         {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to