summaryrefslogtreecommitdiff
path: root/basic/source/sbx/sbxbool.cxx
diff options
context:
space:
mode:
authorNoel Power <noel.power@novell.com>2010-12-21 15:04:14 +0000
committerNoel Power <noel.power@novell.com>2010-12-21 15:04:14 +0000
commit9cc9b6dccbdecfe2877a5735672d7f9bb38d0235 (patch)
tree9f3af00f8d61a6cbaf825ed64ec67d785b5eef03 /basic/source/sbx/sbxbool.cxx
parent7f2458dec64aec8a2462f1e6adeabcf27120c857 (diff)
revert Merge remote branch origin/feature/currency-64bit
Diffstat (limited to 'basic/source/sbx/sbxbool.cxx')
-rw-r--r--basic/source/sbx/sbxbool.cxx34
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 );
}