diff options
author | Eike Rathke <erack@redhat.com> | 2014-06-13 10:50:27 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2014-06-13 14:21:34 +0200 |
commit | c9d037e5e8e5850e9c69372580e7a506b573fc2a (patch) | |
tree | cf780f6dfdcf4111547e485cf1596f6dfe1ebe90 /formula | |
parent | e2ae9f3e8cb625cd8a1f6c93b665a06672038fb6 (diff) |
resolved fdo#79957 propagate ForceArray through jump tokens
ForceArray parameters weren't propagated and enforced to array arguments
on svJump tokens (FormulaJumpToken), namely IF, CHOOSE, IFERROR and
IFNA.
Change-Id: Icf9074f11b826655a52858d778d9a0122d207aa4
Diffstat (limited to 'formula')
-rw-r--r-- | formula/source/core/api/token.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx index 8da6dcebb255..0dd8d5c4d628 100644 --- a/formula/source/core/api/token.cxx +++ b/formula/source/core/api/token.cxx @@ -287,11 +287,16 @@ bool FormulaFAPToken::operator==( const FormulaToken& r ) const { return FormulaByteToken::operator==( r ) && pOrigToken == r.GetFAPOrigToken(); } + + short* FormulaJumpToken::GetJump() const { return pJump; } +bool FormulaJumpToken::HasForceArray() const { return bHasForceArray; } +void FormulaJumpToken::SetForceArray( bool b ) { bHasForceArray = b; } bool FormulaJumpToken::operator==( const FormulaToken& r ) const { return FormulaToken::operator==( r ) && pJump[0] == r.GetJump()[0] && - memcmp( pJump+1, r.GetJump()+1, pJump[0] * sizeof(short) ) == 0; + memcmp( pJump+1, r.GetJump()+1, pJump[0] * sizeof(short) ) == 0 && + bHasForceArray == r.HasForceArray(); } FormulaJumpToken::~FormulaJumpToken() { |