From eec7aaad52e9760f4b47f17052f9bc5f219af5d7 Mon Sep 17 00:00:00 2001 From: fcl Date: Tue, 28 Sep 1999 10:28:21 +0000 Subject: [PATCH] * Fixed some severe bugs (sg) --- fcl/inc/parser.inc | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/fcl/inc/parser.inc b/fcl/inc/parser.inc index 26f7031424..edc07b7949 100644 --- a/fcl/inc/parser.inc +++ b/fcl/inc/parser.inc @@ -58,26 +58,16 @@ begin FSourceEnd[0] := #0; end; - procedure TParser.SkipBlanks; -var - Count : Integer; begin - Inc(FOrigin, FSourcePtr - FBuffer); - FSourceEnd[0] := FSaveChar; - Count := FBufPtr - FSourcePtr; - if Count <> 0 then Move(FSourcePtr[0], FBuffer[0], Count); - FBufPtr := FBuffer + Count; - Inc(FBufPtr, FStream.Read(FBufPtr[0], FBufEnd - FBufPtr)); - FSourcePtr := FBuffer; - FSourceEnd := FBufPtr; - if FSourceEnd = FBufEnd then - begin - FSourceEnd := LineStart(FBuffer, FSourceEnd - 1); - if FSourceEnd = FBuffer then Error(SLineTooLong); + while FSourcePtr^ < #33 do begin + if FSourcePtr^ = #0 then begin + ReadBuffer; + if FSourcePtr^ = #0 then exit; + continue; + end else if FSourcePtr^ = #10 then Inc(FSourceLine); + Inc(FSourcePtr); end; - FSaveChar := FSourceEnd[0]; - FSourceEnd[0] := #0; end; constructor TParser.Create(Stream: TStream); @@ -311,7 +301,10 @@ begin end; { $Log$ - Revision 1.6 1999-04-08 10:18:53 peter + Revision 1.7 1999-09-28 10:28:21 fcl + * Fixed some severe bugs (sg) + + Revision 1.6 1999/04/08 10:18:53 peter * makefile updates }