diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2006-04-07 13:04:37 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2006-04-07 13:04:37 +0000 |
commit | d27a819b47360142a2b984fc3cc2ab8628e91c18 (patch) | |
tree | 6329f7c2ccb0049e395ab0b934642d3c78d65798 /basic | |
parent | dea82739c96f06252dab8f6c2422d3b0e1e248db (diff) |
INTEGRATION: CWS ab19 (1.17.40); FILE MERGED
2006/03/03 10:47:14 ab 1.17.40.2: RESYNC: (1.17-1.18); FILE MERGED
2005/08/10 08:39:42 ab 1.17.40.1: #i30500# StepPARAM: Changed handling of missing variables
Diffstat (limited to 'basic')
-rw-r--r-- | basic/source/runtime/step2.cxx | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/basic/source/runtime/step2.cxx b/basic/source/runtime/step2.cxx index 596d9ebb1c64..8f2c21cadbc2 100644 --- a/basic/source/runtime/step2.cxx +++ b/basic/source/runtime/step2.cxx @@ -4,9 +4,9 @@ * * $RCSfile: step2.cxx,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: rt $ $Date: 2005-09-07 21:42:41 $ + * last change: $Author: vg $ $Date: 2006-04-07 14:04:37 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -579,17 +579,19 @@ void SbiRuntime::StepPARAM( USHORT nOp1, USHORT nOp2 ) // #57915 Missing sauberer loesen USHORT nParamCount = refParams->Count(); - // Wurden ueberhaupt genug Parameter uebergeben if( i >= nParamCount ) { - p = new SbxVariable(); - p->PutErr( 448 ); // Wie in VB: Error-Code 448 (SbERR_NAMED_NOT_FOUND) - refParams->Put( p, i ); - } - else - { - p = refParams->Get( i ); + INT16 iLoop = i; + while( iLoop >= nParamCount ) + { + p = new SbxVariable(); + p->PutErr( 448 ); // Wie in VB: Error-Code 448 (SbERR_NAMED_NOT_FOUND) + refParams->Put( p, iLoop ); + iLoop--; + } } + p = refParams->Get( i ); + if( p->GetType() == SbxERROR && ( i ) ) //if( p->GetType() == SbxEMPTY && ( i ) ) { |