codetools: fixed RunAssignment clean up

git-svn-id: trunk@27510 -
This commit is contained in:
mattias 2010-09-28 16:08:59 +00:00
parent 8ad5e11f4b
commit 0f2583abfe
2 changed files with 8 additions and 6 deletions

View File

@ -1369,6 +1369,7 @@ begin
FStack.Push(ctcssBegin,AtomStart);
repeat
ReadRawNextPascalAtom(Src,AtomStart);
//debugln(['TCTConfigScriptEngine.RunBegin ',GetAtom]);
if (AtomStart^=#0) then begin
ErrorMissingEnd;
break;
@ -1377,10 +1378,11 @@ begin
break;
end else if AtomStart=';' then begin
// skip
end else
end else begin
RunStatement(Skip);
end;
until false;
// clean up stack
// clean up stack (recover from errors)
while FStack.Top>StartTop do FStack.Pop;
end;
@ -1451,14 +1453,14 @@ procedure TCTConfigScriptEngine.RunAssignment(Skip: boolean);
var
VarStart: PChar;
Variable: PCTCfgScriptVariable;
StartTop: TCTCfgScriptStackItemType;
OperatorStart: PChar;
StartTop: LongInt;
begin
VarStart:=AtomStart;
{$IFDEF VerboseCTCfgScript}
debugln(['TCTConfigScriptEngine.RunAssignment ',GetIdentifier(VarStart)]);
{$ENDIF}
StartTop:=FStack.TopTyp;
StartTop:=FStack.Top;
FStack.Push(ctcssAssignment,VarStart);
ReadRawNextPascalAtom(Src,AtomStart);
{$IFDEF VerboseCTCfgScript}
@ -1493,7 +1495,7 @@ begin
{$ENDIF}
end;
// clean up stack
while FStack.TopTyp>StartTop do FStack.Pop;
while FStack.Top>StartTop do FStack.Pop;
end;
procedure TCTConfigScriptEngine.PushNumberValue(const Number: int64);

View File

@ -41,7 +41,7 @@ var
begin
if Paramcount>0 then begin
if Paramcount<>1 then begin
writeln('Usage: '+ParamStrUTF8(0)+' filename line column');
writeln('Usage: '+ParamStrUTF8(0)+' filename');
exit;
end;
Filename:=ExpandFileNameUTF8(ParamStrUTF8(1));