diff options
author | Noel Power <noel.power@novell.com> | 2010-12-21 15:04:14 +0000 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2010-12-21 15:04:14 +0000 |
commit | 9cc9b6dccbdecfe2877a5735672d7f9bb38d0235 (patch) | |
tree | 9f3af00f8d61a6cbaf825ed64ec67d785b5eef03 /basic/source/sbx/sbxbool.cxx | |
parent | 7f2458dec64aec8a2462f1e6adeabcf27120c857 (diff) |
revert Merge remote branch origin/feature/currency-64bit
Diffstat (limited to 'basic/source/sbx/sbxbool.cxx')
-rw-r--r-- | basic/source/sbx/sbxbool.cxx | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/basic/source/sbx/sbxbool.cxx b/basic/source/sbx/sbxbool.cxx index 03b435af1ef6..35e36a94a557 100644 --- a/basic/source/sbx/sbxbool.cxx +++ b/basic/source/sbx/sbxbool.cxx @@ -71,10 +71,14 @@ enum SbxBOOL ImpGetBool( const SbxValues* p ) } break; case SbxSALINT64: - case SbxCURRENCY: nRes = p->nInt64 ? SbxTRUE : SbxFALSE; break; case SbxSALUINT64: nRes = p->uInt64 ? SbxTRUE : SbxFALSE; break; + case SbxULONG64: + nRes = !!p->nULong64 ? SbxTRUE : SbxFALSE; break; + case SbxLONG64: + case SbxCURRENCY: + nRes = !!p->nLong64 ? SbxTRUE : SbxFALSE; break; case SbxBYREF | SbxSTRING: case SbxSTRING: case SbxLPSTR: @@ -135,11 +139,16 @@ enum SbxBOOL ImpGetBool( const SbxValues* p ) case SbxBYREF | SbxDATE: case SbxBYREF | SbxDOUBLE: nRes = ( *p->pDouble != 0 ) ? SbxTRUE : SbxFALSE; break; - case SbxBYREF | SbxCURRENCY: case SbxBYREF | SbxSALINT64: nRes = ( *p->pnInt64 ) ? SbxTRUE : SbxFALSE; break; case SbxBYREF | SbxSALUINT64: nRes = ( *p->puInt64 ) ? SbxTRUE : SbxFALSE; break; + case SbxBYREF | SbxULONG64: + nRes = !!*p->pULong64 ? SbxTRUE : SbxFALSE; break; + case SbxBYREF | SbxLONG64: + case SbxBYREF | SbxCURRENCY: + nRes = !!*p->pLong64 ? SbxTRUE : SbxFALSE; break; + default: SbxBase::SetError( SbxERR_CONVERSION ); nRes = SbxFALSE; } @@ -171,11 +180,15 @@ void ImpPutBool( SbxValues* p, INT16 n ) case SbxDATE: case SbxDOUBLE: p->nDouble = n; break; - case SbxCURRENCY: case SbxSALINT64: - p->nInt64 = (sal_Int64) n; break; + p->nInt64 = n; break; case SbxSALUINT64: - p->uInt64 = (sal_uInt64) n; break; + p->uInt64 = n; break; + case SbxULONG64: + p->nULong64.Set( (UINT32)n ); break; + case SbxLONG64: + case SbxCURRENCY: + p->nLong64.Set( (INT32)n ); break; case SbxDECIMAL: case SbxBYREF | SbxDECIMAL: ImpCreateDecimal( p )->setInt( (INT16)n ); @@ -218,11 +231,16 @@ void ImpPutBool( SbxValues* p, INT16 n ) case SbxBYREF | SbxDATE: case SbxBYREF | SbxDOUBLE: *p->pDouble = n; break; - case SbxBYREF | SbxCURRENCY: case SbxBYREF | SbxSALINT64: - *p->pnInt64 = (sal_Int64) n; break; + *p->pnInt64 = n; break; case SbxBYREF | SbxSALUINT64: - *p->puInt64 = (sal_uInt64) n; break; + *p->puInt64 = n; break; + case SbxBYREF | SbxULONG64: + p->pULong64->Set( (UINT32)n ); break; + case SbxBYREF | SbxLONG64: + case SbxBYREF | SbxCURRENCY: + p->pLong64->Set( (INT32)n ); break; + default: SbxBase::SetError( SbxERR_CONVERSION ); } |