summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorMatteo Casalin <matteo.casalin@yahoo.com>2018-11-15 08:21:33 +0100
committerMatteo Casalin <matteo.casalin@yahoo.com>2019-01-03 16:11:58 +0100
commit920f9155a79120611acface4dc64f2ac0cc081f0 (patch)
treedb862832bd09bb4f83c04234bf58755f6265388d /sc
parent66b919c8674066871a06e7cdf5595dc6951524e0 (diff)
Get rid of ScStringUtil::GetQuotedTokenCount()
Change-Id: If50beb8edaf2c0bb0d336c81b4144ff58147771f Reviewed-on: https://gerrit.libreoffice.org/65657 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Matteo Casalin <matteo.casalin@yahoo.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/stringutil.hxx1
-rw-r--r--sc/source/core/tool/stringutil.cxx52
-rw-r--r--sc/source/filter/excel/xicontent.cxx6
-rw-r--r--sc/source/ui/dbgui/validate.cxx7
4 files changed, 5 insertions, 61 deletions
diff --git a/sc/inc/stringutil.hxx b/sc/inc/stringutil.hxx
index ff2bc9cd74cd..bb1c8cf2e0f0 100644
--- a/sc/inc/stringutil.hxx
+++ b/sc/inc/stringutil.hxx
@@ -151,7 +151,6 @@ public:
static bool parseSimpleNumber(
const char* p, size_t n, char dsep, char gsep, double& rVal);
- static sal_Int32 SC_DLLPUBLIC GetQuotedTokenCount(const OUString &rIn, const OUString& rQuotedPairs, sal_Unicode cTok );
static OUString SC_DLLPUBLIC GetQuotedToken(const OUString &rIn, sal_Int32 nToken, const OUString& rQuotedPairs,
sal_Unicode cTok, sal_Int32& rIndex );
diff --git a/sc/source/core/tool/stringutil.cxx b/sc/source/core/tool/stringutil.cxx
index ba5923896e38..ebca2a7d96c7 100644
--- a/sc/source/core/tool/stringutil.cxx
+++ b/sc/source/core/tool/stringutil.cxx
@@ -346,58 +346,6 @@ bool ScStringUtil::parseSimpleNumber(
return true;
}
-sal_Int32 ScStringUtil::GetQuotedTokenCount(const OUString &rIn, const OUString& rQuotedPairs, sal_Unicode cTok )
-{
- assert( !(rQuotedPairs.getLength()%2) );
- assert( rQuotedPairs.indexOf(cTok) == -1 );
-
- // empty string: TokenCount is 0 per definition
- if ( rIn.isEmpty() )
- return 0;
-
- sal_Int32 nTokCount = 1;
- sal_Int32 nLen = rIn.getLength();
- sal_Int32 nQuotedLen = rQuotedPairs.getLength();
- sal_Unicode cQuotedEndChar = 0;
- const sal_Unicode* pQuotedStr = rQuotedPairs.getStr();
- const sal_Unicode* pStr = rIn.getStr();
- sal_Int32 nIndex = 0;
- while ( nIndex < nLen )
- {
- sal_Unicode c = *pStr;
- if ( cQuotedEndChar )
- {
- // reached end of the quote?
- if ( c == cQuotedEndChar )
- cQuotedEndChar = 0;
- }
- else
- {
- // Is the char a quote-begin char?
- sal_Int32 nQuoteIndex = 0;
- while ( nQuoteIndex < nQuotedLen )
- {
- if ( pQuotedStr[nQuoteIndex] == c )
- {
- cQuotedEndChar = pQuotedStr[nQuoteIndex+1];
- break;
- }
- else
- nQuoteIndex += 2;
- }
-
- // If the token-char matches then increase TokCount
- if ( c == cTok )
- ++nTokCount;
- }
-
- ++pStr;
- ++nIndex;
- }
-
- return nTokCount;
-}
-
OUString ScStringUtil::GetQuotedToken(const OUString &rIn, sal_Int32 nToken, const OUString& rQuotedPairs,
sal_Unicode cTok, sal_Int32& rIndex )
{
diff --git a/sc/source/filter/excel/xicontent.cxx b/sc/source/filter/excel/xicontent.cxx
index 02b1dd17867f..f5d4780ef3ac 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -1001,11 +1001,9 @@ void XclImpWebQuery::ReadWqtables( XclImpStream& rStrm )
OUString aTables( rStrm.ReadUniString() );
const sal_Unicode cSep = ';';
- OUString aQuotedPairs( "\"\"" );
- sal_Int32 nTokenCnt = ScStringUtil::GetQuotedTokenCount( aTables, aQuotedPairs, ',' );
+ const OUString aQuotedPairs( "\"\"" );
maTables.clear();
- sal_Int32 nStringIx = 0;
- for( sal_Int32 nToken = 0; nToken < nTokenCnt; ++nToken )
+ for ( sal_Int32 nStringIx {aTables.isEmpty() ? -1 : 0}; nStringIx>=0; )
{
OUString aToken( ScStringUtil::GetQuotedToken( aTables, 0, aQuotedPairs, ',', nStringIx ) );
sal_Int32 nTabNum = CharClass::isAsciiNumeric( aToken ) ? aToken.toInt32() : 0;
diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index 1a3ef64c2563..591acbb3e3f9 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -299,14 +299,13 @@ void lclGetFormulaFromStringList( OUString& rFmlaStr, const OUString& rStringLis
@return true = Conversion successful. */
bool lclGetStringListFromFormula( OUString& rStringList, const OUString& rFmlaStr, sal_Unicode cFmlaSep )
{
- OUString aQuotes( "\"\"" );
- sal_Int32 nTokenCnt = ScStringUtil::GetQuotedTokenCount(rFmlaStr, aQuotes, cFmlaSep );
+ const OUString aQuotes( "\"\"" );
rStringList.clear();
- bool bIsStringList = (nTokenCnt > 0);
+ bool bIsStringList = !rFmlaStr.isEmpty();
bool bTokenAdded = false;
- for( sal_Int32 nToken = 0, nStringIx = 0; bIsStringList && (nToken < nTokenCnt); ++nToken )
+ for ( sal_Int32 nStringIx = 0; bIsStringList && nStringIx>=0; )
{
OUString aToken( ScStringUtil::GetQuotedToken(rFmlaStr, 0, aQuotes, cFmlaSep, nStringIx ) );
aToken = comphelper::string::strip(aToken, ' ');