diff options
author | RĂ¼diger Timm <rt@openoffice.org> | 2004-11-15 15:37:32 +0000 |
---|---|---|
committer | RĂ¼diger Timm <rt@openoffice.org> | 2004-11-15 15:37:32 +0000 |
commit | 6da4d12ee857bdeeac218f8ea735bfb9d664d4ea (patch) | |
tree | 3e6568b68a6db2e40add58cd41f80361247874f6 /basic/source/runtime/runtime.cxx | |
parent | ce9999c97399df2ff04ef36d78f33440871c54c3 (diff) |
INTEGRATION: CWS texteng03 (1.16.10); FILE MERGED
2004/11/04 10:52:55 ab 1.16.10.1: #118235# Maintain For Level in runtime and Gosub Stack
Diffstat (limited to 'basic/source/runtime/runtime.cxx')
-rw-r--r-- | basic/source/runtime/runtime.cxx | 13 |
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--; } } |