diff options
-rw-r--r-- | formula/source/core/api/FormulaCompiler.cxx | 14 | ||||
-rw-r--r-- | formula/source/core/api/token.cxx | 11 | ||||
-rw-r--r-- | include/formula/FormulaCompiler.hxx | 4 | ||||
-rw-r--r-- | sc/inc/compiler.hxx | 4 | ||||
-rw-r--r-- | sc/source/core/tool/token.cxx | 2 |
5 files changed, 16 insertions, 19 deletions
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx index 514d11caf14e..afd6746411df 100644 --- a/formula/source/core/api/FormulaCompiler.cxx +++ b/formula/source/core/api/FormulaCompiler.cxx @@ -1195,7 +1195,7 @@ void FormulaCompiler::Factor() pFacToken->GetJump()[ 0 ] = 3; // if, else, behind break; case ocChose: - pFacToken->GetJump()[ 0 ] = MAXJUMPCOUNT+1; + pFacToken->GetJump()[ 0 ] = FORMULA_MAXJUMPCOUNT + 1; break; case ocIfError: case ocIfNA: @@ -1225,7 +1225,7 @@ void FormulaCompiler::Factor() nJumpMax = 3; break; case ocChose: - nJumpMax = MAXJUMPCOUNT; + nJumpMax = FORMULA_MAXJUMPCOUNT; break; case ocIfError: case ocIfNA: @@ -1236,7 +1236,7 @@ void FormulaCompiler::Factor() SAL_WARN( "formula.core", "FormulaCompiler::Factor: forgot to add a jump max case?"); } short nJumpCount = 0; - while ( (nJumpCount < (MAXJUMPCOUNT - 1)) && (eOp == ocSep) + while ( (nJumpCount < (FORMULA_MAXJUMPCOUNT - 1)) && (eOp == ocSep) && (!pArr->GetCodeError() || bIgnoreErrors) ) { if ( ++nJumpCount <= nJumpMax ) @@ -1262,7 +1262,7 @@ void FormulaCompiler::Factor() bLimitOk = (nJumpCount <= 3); break; case ocChose: - bLimitOk = (nJumpCount < MAXJUMPCOUNT); /* TODO: check, really <, not <=? */ + bLimitOk = (nJumpCount < FORMULA_MAXJUMPCOUNT); /* TODO: check, really <, not <=? */ break; case ocIfError: case ocIfNA: @@ -1546,7 +1546,7 @@ bool FormulaCompiler::CompileTokenArray() pArr->nRefs = 0; // count from start pArr->DelRPN(); pStack = NULL; - FormulaToken* pData[ MAXCODE ]; + FormulaToken* pData[ FORMULA_MAXTOKENS ]; pCode = pData; bool bWasForced = pArr->IsRecalcModeForced(); if ( bWasForced ) @@ -1951,9 +1951,9 @@ OpCode FormulaCompiler::NextToken() } void FormulaCompiler::PutCode( FormulaTokenRef& p ) { - if( pc >= MAXCODE-1 ) + if( pc >= FORMULA_MAXTOKENS - 1 ) { - if ( pc == MAXCODE-1 ) + if ( pc == FORMULA_MAXTOKENS - 1 ) { p = new FormulaByteToken( ocStop ); p->IncRef(); diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx index b341cdc19253..9ea036cd1f23 100644 --- a/formula/source/core/api/token.cxx +++ b/formula/source/core/api/token.cxx @@ -29,7 +29,6 @@ #include "formula/tokenarray.hxx" #include "formula/FormulaCompiler.hxx" #include <formula/compiler.hrc> -#define MAXJUMPCOUNT 32 /* maximum number of jumps (ocChose) */ namespace formula { @@ -726,8 +725,8 @@ FormulaToken* FormulaTokenArray::MergeArray( ) FormulaToken* FormulaTokenArray::Add( FormulaToken* t ) { if( !pCode ) - pCode = new FormulaToken*[ MAXCODE ]; - if( nLen < MAXCODE-1 ) + pCode = new FormulaToken*[ FORMULA_MAXTOKENS ]; + if( nLen < FORMULA_MAXTOKENS - 1 ) { CheckToken(*t); pCode[ nLen++ ] = t; @@ -742,7 +741,7 @@ FormulaToken* FormulaTokenArray::Add( FormulaToken* t ) else { t->Delete(); - if ( nLen == MAXCODE-1 ) + if ( nLen == FORMULA_MAXTOKENS - 1 ) { t = new FormulaByteToken( ocStop ); pCode[ nLen++ ] = t; @@ -1194,11 +1193,11 @@ FormulaToken* FormulaTokenArray::AddOpCode( OpCode eOp ) case ocIfNA: case ocChose: { - short nJump[MAXJUMPCOUNT + 1]; + short nJump[FORMULA_MAXJUMPCOUNT + 1]; if ( eOp == ocIf ) nJump[ 0 ] = 3; else if ( eOp == ocChose ) - nJump[ 0 ] = MAXJUMPCOUNT + 1; + nJump[ 0 ] = FORMULA_MAXJUMPCOUNT + 1; else nJump[ 0 ] = 2; pRet = new FormulaJumpToken( eOp, (short*)nJump ); diff --git a/include/formula/FormulaCompiler.hxx b/include/formula/FormulaCompiler.hxx index b53bb2df4316..6e271ca15a4f 100644 --- a/include/formula/FormulaCompiler.hxx +++ b/include/formula/FormulaCompiler.hxx @@ -36,8 +36,8 @@ #include "formula/ExternalReferenceHelper.hxx" -#define MAXJUMPCOUNT 32 /* maximum number of jumps (ocChose) */ -#define MAXCODE 512 /* maximum number of tokens in formula */ +#define FORMULA_MAXJUMPCOUNT 32 /* maximum number of jumps (ocChose) */ +#define FORMULA_MAXTOKENS 8192 /* maximum number of tokens in formula */ namespace com { namespace sun { namespace star { diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx index 518635ddf669..4f4a58cf245f 100644 --- a/sc/inc/compiler.hxx +++ b/sc/inc/compiler.hxx @@ -42,9 +42,7 @@ // constants and data types also for external modules (ScInterpreter et al) -#define MAXCODE 512 /* maximum number of tokens in formula */ #define MAXSTRLEN 1024 /* maximum length of input string of one symbol */ -#define MAXJUMPCOUNT 32 /* maximum number of jumps (ocChose) */ // flag values of CharTable #define SC_COMPILER_C_ILLEGAL 0x00000000 @@ -146,7 +144,7 @@ public: ScMatrix* pMat; sal_uInt16 nError; sal_Unicode cStr[ MAXSTRLEN+1 ]; // string (up to 255 characters + 0) - short nJump[MAXJUMPCOUNT+1]; // If/Chose token + short nJump[ FORMULA_MAXJUMPCOUNT + 1 ]; // If/Chose token }; //! other members not initialized diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 2b56456bd6a2..3dff6a930804 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -136,7 +136,7 @@ void ScRawToken::SetOpCode( OpCode e ) break; case ocChose: eType = svJump; - nJump[ 0 ] = MAXJUMPCOUNT+1; + nJump[ 0 ] = FORMULA_MAXJUMPCOUNT + 1; break; case ocMissing: eType = svMissing; |