summaryrefslogtreecommitdiff
path: root/basic/source/runtime/runtime.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'basic/source/runtime/runtime.cxx')
-rw-r--r--basic/source/runtime/runtime.cxx13
1 files changed, 6 insertions, 7 deletions
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index a2aed22514a7..fd939cb8653c 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: runtime.cxx,v $
*
- * $Revision: 1.18 $
+ * $Revision: 1.19 $
*
- * last change: $Author: obo $ $Date: 2004-11-15 13:29:32 $
+ * last change: $Author: rt $ $Date: 2004-11-15 16:37:32 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -97,11 +97,6 @@ void StarBASIC::StaticEnableReschedule( BOOL bReschedule )
}
-struct SbiGosubStack { // GOSUB-Stack:
- SbiGosubStack* pNext; // Chain
- const BYTE* pCode; // Return-Pointer
-};
-
struct SbiArgvStack { // Argv stack:
SbiArgvStack* pNext; // Stack Chain
SbxArrayRef refArgv; // Argv
@@ -541,6 +536,7 @@ SbiRuntime::SbiRuntime( SbModule* pm, SbMethod* pe, USHORT nStart )
nArgc =
nError =
nGosubLvl =
+ nForLvl =
nOps = 0;
refExprStk = new SbxArray;
#if defined GCC
@@ -875,6 +871,7 @@ void SbiRuntime::PushGosub( const BYTE* pc )
SbiGosubStack* p = new SbiGosubStack;
p->pCode = pc;
p->pNext = pGosubStk;
+ p->nStartForLvl = nForLvl;
pGosubStk = p;
}
@@ -949,6 +946,7 @@ void SbiRuntime::PushFor()
SbxVariableRef xBgn = PopVar();
p->refVar = PopVar();
*(p->refVar) = *xBgn;
+ nForLvl++;
}
// Poppen des FOR-Stacks
@@ -960,6 +958,7 @@ void SbiRuntime::PopFor()
SbiForStack* p = pForStk;
pForStk = p->pNext;
delete p;
+ nForLvl--;
}
}