mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 13:39:21 +02:00
DBG: fixed parsing sets for debug-inspector
git-svn-id: trunk@37885 -
This commit is contained in:
parent
35da2faa8c
commit
09c3e91542
@ -11627,22 +11627,25 @@ var
|
|||||||
|
|
||||||
Procedure SkipToEndOfField(EndAtComma: Boolean = False);
|
Procedure SkipToEndOfField(EndAtComma: Boolean = False);
|
||||||
var
|
var
|
||||||
i: Integer;
|
i, j: Integer;
|
||||||
begin
|
begin
|
||||||
// skip forward, past the next ",", but do NOT skip the closing "}"
|
// skip forward, past the next ",", but do NOT skip the closing "}"
|
||||||
i := 1;
|
i := 1;
|
||||||
|
j := 0;
|
||||||
while (StartPtr <= EndPtr) and (i > 0) do begin
|
while (StartPtr <= EndPtr) and (i > 0) do begin
|
||||||
case StartPtr^ of
|
case StartPtr^ of
|
||||||
'{': inc(i);
|
'{': inc(i);
|
||||||
'}': if i = 1
|
'}': if i = 1
|
||||||
then break // do not skip }
|
then break // do not skip }
|
||||||
else dec(i);
|
else dec(i);
|
||||||
|
'[': inc(j);
|
||||||
|
']': dec(j);
|
||||||
'''': begin
|
'''': begin
|
||||||
inc(StartPtr);
|
inc(StartPtr);
|
||||||
while (StartPtr <= EndPtr) and (StartPtr^ <> '''') do inc(StartPtr);
|
while (StartPtr <= EndPtr) and (StartPtr^ <> '''') do inc(StartPtr);
|
||||||
end;
|
end;
|
||||||
',': if (i = 1) then begin
|
',': if (i = 1) and (j < 1) then begin
|
||||||
if EndAtComma then break;
|
if EndAtComma then break; // Do not increase StartPtr;
|
||||||
i := 0;
|
i := 0;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user