diff options
author | Noel Power <noel.power@novell.com> | 2010-12-06 17:36:57 +0000 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2010-12-06 17:36:57 +0000 |
commit | c33c38979462dad9495a020174d53ecd332021bf (patch) | |
tree | 880d4bf02ec51a5c1fcad5328e65af329e52a0a2 /basic/source/runtime/methods1.cxx | |
parent | c3a2aa126efb994e3a5d42d60c2b0c62caa99450 (diff) |
John LeMoyne Castle's currency improvements
Diffstat (limited to 'basic/source/runtime/methods1.cxx')
-rw-r--r-- | basic/source/runtime/methods1.cxx | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/basic/source/runtime/methods1.cxx b/basic/source/runtime/methods1.cxx index 2b82281a1c..54768cc918 100644 --- a/basic/source/runtime/methods1.cxx +++ b/basic/source/runtime/methods1.cxx @@ -158,12 +158,12 @@ RTLFUNC(CByte) // JSM rPar.Get(0)->PutByte(nByte); } -RTLFUNC(CCur) // JSM +RTLFUNC(CCur) { (void)pBasic; (void)bWrite; - SbxINT64 nCur; + sal_Int64 nCur = 0; if ( rPar.Count() == 2 ) { SbxVariable *pSbxVariable = rPar.Get(1); @@ -175,7 +175,7 @@ RTLFUNC(CCur) // JSM rPar.Get(0)->PutCurrency( nCur ); } -RTLFUNC(CDec) // JSM +RTLFUNC(CDec) { (void)pBasic; (void)bWrite; @@ -881,13 +881,19 @@ BOOL lcl_WriteSbxVariable( const SbxVariable& rVar, SvStream* pStrm, case SbxLONG: case SbxULONG: - case SbxLONG64: - case SbxULONG64: if( bIsVariant ) *pStrm << (USHORT)SbxLONG; // VarType Id *pStrm << rVar.GetLong(); break; - +#if IMPLEMENTATION_READY + case SbxSALINT64: + case SbxSALUINT64: + if( bIsVariant ) + *pStrm << (USHORT)SbxSALINT64; // VarType Id + //TODO fix truncating cast with new stream method or 2 part print + *pStrm << (sal_Int32)rVar.GetInt64(); + break; +#endif case SbxSINGLE: if( bIsVariant ) *pStrm << (USHORT)eType; // VarType Id @@ -983,15 +989,23 @@ BOOL lcl_ReadSbxVariable( SbxVariable& rVar, SvStream* pStrm, case SbxLONG: case SbxULONG: - case SbxLONG64: - case SbxULONG64: { INT32 aInt; *pStrm >> aInt; rVar.PutLong( aInt ); } break; - +#if IMPLEMENTATION_READY + case SbxSALINT64: + case SbxSALUINT64: + { + sal_Int32 aInt; + //TODO fix incorrect use of 32bit type with new stream method in tools + *pStrm >> aInt; + rVar.PutInt64( (sal_Int64)aInt ); + } + break; +#endif case SbxSINGLE: { float nS; @@ -1354,8 +1368,8 @@ RTLFUNC(TypeLen) case SbxDOUBLE: case SbxCURRENCY: case SbxDATE: - case SbxLONG64: - case SbxULONG64: + case SbxSALINT64: + case SbxSALUINT64: nLen = 8; break; |