mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 06:26:10 +02:00
rstconv: fixed memory leak
git-svn-id: trunk@26484 -
This commit is contained in:
parent
34cf432600
commit
13a0b21031
@ -121,7 +121,7 @@ procedure ReadRSJFile;
|
|||||||
var
|
var
|
||||||
Stream: TFileStream;
|
Stream: TFileStream;
|
||||||
Parser: TJSONParser;
|
Parser: TJSONParser;
|
||||||
JsonData: TJSONData;
|
JsonData, JsonItems: TJSONData;
|
||||||
JsonItem: TJSONObject;
|
JsonItem: TJSONObject;
|
||||||
S: String;
|
S: String;
|
||||||
item: TConstItem;
|
item: TConstItem;
|
||||||
@ -130,16 +130,21 @@ begin
|
|||||||
Stream := TFileStream.Create(InFilename, fmOpenRead or fmShareDenyNone);
|
Stream := TFileStream.Create(InFilename, fmOpenRead or fmShareDenyNone);
|
||||||
Parser := TJSONParser.Create(Stream);
|
Parser := TJSONParser.Create(Stream);
|
||||||
try
|
try
|
||||||
JsonData := Parser.Parse.GetPath('strings');
|
JsonData := Parser.Parse;
|
||||||
for I := 0 to JsonData.Count - 1 do
|
try
|
||||||
begin
|
JsonItems := JsonData.GetPath('strings');
|
||||||
item := TConstItem(ConstItems.Add);
|
for I := 0 to JsonItems.Count - 1 do
|
||||||
JsonItem := JsonData.Items[I] as TJSONObject;
|
begin
|
||||||
S := JsonItem.Get('name');
|
item := TConstItem(ConstItems.Add);
|
||||||
DotPos := Pos('.', s);
|
JsonItem := JsonItems.Items[I] as TJSONObject;
|
||||||
item.ModuleName := Copy(s, 1, DotPos - 1);
|
S := JsonItem.Get('name');
|
||||||
item.ConstName := Copy(s, DotPos + 1, Length(S) - DotPos);
|
DotPos := Pos('.', s);
|
||||||
item.Value := JsonItem.Get('value');
|
item.ModuleName := Copy(s, 1, DotPos - 1);
|
||||||
|
item.ConstName := Copy(s, DotPos + 1, Length(S) - DotPos);
|
||||||
|
item.Value := JsonItem.Get('value');
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
JsonData.Free;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
Parser.Free;
|
Parser.Free;
|
||||||
|
Loading…
Reference in New Issue
Block a user