[Libreoffice-commits] core.git: formula/source
Tor Lillqvist
tml at collabora.com
Wed Jun 14 12:45:46 UTC 2017
formula/source/core/api/token.cxx | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
New commits:
commit 92b7acdf2a1159af8a31da22ce6227950f709040
Author: Tor Lillqvist <tml at collabora.com>
Date: Wed Jun 14 15:27:55 2017 +0300
Avoid use of FormulaTokenArray::First() and Next() in another place
Change-Id: Ie542f62b910648ee494b908703083d28f92d9a33
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index a11cc1adf023..b43fd7fec80e 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -1473,7 +1473,8 @@ FormulaTokenArray * FormulaTokenArray::RewriteMissing( const MissingConvention &
// At least ScRecalcMode::ALWAYS needs to be set.
pNewArr->AddRecalcMode( GetRecalcMode());
- for ( FormulaToken *pCur = First(); pCur; pCur = Next() )
+ FormulaTokenArrayPlainIterator aIter(*this);
+ for ( FormulaToken *pCur = aIter.First(); pCur; pCur = aIter.Next() )
{
bool bAdd = true;
// Don't write the expression of the new inserted ADDRESS() parameter.
@@ -1503,10 +1504,10 @@ FormulaTokenArray * FormulaTokenArray::RewriteMissing( const MissingConvention &
pCur->GetDouble() == 0.0)
{
// No other expression, between separators.
- FormulaToken* p = PeekPrevNoSpaces();
+ FormulaToken* p = aIter.PeekPrevNoSpaces();
if (p && p->GetOpCode() == ocSep)
{
- p = PeekNextNoSpaces();
+ p = aIter.PeekNextNoSpaces();
if (p && p->GetOpCode() == ocSep)
bAdd = false;
}
@@ -1518,7 +1519,7 @@ FormulaTokenArray * FormulaTokenArray::RewriteMissing( const MissingConvention &
case ocOpen:
{
++nFn; // all following operations on _that_ function
- pCtx[ nFn ].mpFunc = PeekPrevNoSpaces();
+ pCtx[ nFn ].mpFunc = aIter.PeekPrevNoSpaces();
pCtx[ nFn ].mnCurArg = 0;
OpCode eOp;
if (rConv.isPODF() && pCtx[ nFn ].mpFunc && pCtx[ nFn ].mpFunc->GetOpCode() == ocAddress)
More information about the Libreoffice-commits
mailing list