diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2003-04-24 13:02:10 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2003-04-24 13:02:10 +0000 |
commit | 9f7f9938c4f0b067878d672215f109c64bc2ff77 (patch) | |
tree | e23a9b17e4c463bfa1d961cd03c488682db1e092 /basic/source/runtime/step0.cxx | |
parent | af2e77ed75b813758de728167eac85bf6922f588 (diff) |
INTEGRATION: CWS uno3 (1.12.14); FILE MERGED
2003/04/16 12:01:44 ab 1.12.14.1: #i13122# Fixed LSet/RSet
Diffstat (limited to 'basic/source/runtime/step0.cxx')
-rw-r--r-- | basic/source/runtime/step0.cxx | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/basic/source/runtime/step0.cxx b/basic/source/runtime/step0.cxx index 69912c1a78..8bee9f7020 100644 --- a/basic/source/runtime/step0.cxx +++ b/basic/source/runtime/step0.cxx @@ -2,9 +2,9 @@ * * $RCSfile: step0.cxx,v $ * - * $Revision: 1.13 $ + * $Revision: 1.14 $ * - * last change: $Author: rt $ $Date: 2003-04-23 16:58:31 $ + * last change: $Author: vg $ $Date: 2003-04-24 14:02:10 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -317,12 +317,21 @@ void SbiRuntime::StepLSET() String aRefVarString = refVar->GetString(); String aRefValString = refVal->GetString(); - if (aRefVarString.Len() > aRefValString.Len()) - aRefVarString.Fill(aRefVarString.Len(),' '); - aRefVarString = aRefValString.Copy( 0, aRefVarString.Len() ); - aRefVarString += aRefVarString.Copy( aRefValString.Len() ); - refVar->PutString(aRefVarString); + USHORT nVarStrLen = aRefVarString.Len(); + USHORT nValStrLen = aRefValString.Len(); + String aNewStr; + if( nVarStrLen > nValStrLen ) + { + aRefVarString.Fill(nVarStrLen,' '); + aNewStr = aRefValString.Copy( 0, nValStrLen ); + aNewStr += aRefVarString.Copy( nValStrLen, nVarStrLen - nValStrLen ); + } + else + { + aNewStr = aRefValString.Copy( 0, nVarStrLen ); + } + refVar->PutString( aNewStr ); refVar->SetFlags( n ); } } @@ -345,13 +354,14 @@ void SbiRuntime::StepRSET() String aRefValString = refVal->GetString(); USHORT nPos = 0; - if (aRefVarString.Len() > aRefValString.Len()) + USHORT nVarStrLen = aRefVarString.Len(); + if( nVarStrLen > aRefValString.Len() ) { - aRefVarString.Fill(aRefVarString.Len(),' '); - nPos = aRefVarString.Len() - aRefValString.Len(); + aRefVarString.Fill(nVarStrLen,' '); + nPos = nVarStrLen - aRefValString.Len(); } aRefVarString = aRefVarString.Copy( 0, nPos ); - aRefVarString += aRefValString.Copy( 0, aRefVarString.Len() - nPos ); + aRefVarString += aRefValString.Copy( 0, nVarStrLen - nPos ); refVar->PutString(aRefVarString); refVar->SetFlags( n ); |