|
@@ -561,13 +561,13 @@ implementation
|
|
def : tdef;
|
|
def : tdef;
|
|
b : byte;
|
|
b : byte;
|
|
begin
|
|
begin
|
|
- def:=nil;
|
|
|
|
{ load start of definition section, which holds the amount of defs }
|
|
{ load start of definition section, which holds the amount of defs }
|
|
if ppufile.readentry<>ibstartdefs then
|
|
if ppufile.readentry<>ibstartdefs then
|
|
Message(unit_f_ppu_read_error);
|
|
Message(unit_f_ppu_read_error);
|
|
{ read definitions }
|
|
{ read definitions }
|
|
repeat
|
|
repeat
|
|
b:=ppufile.readentry;
|
|
b:=ppufile.readentry;
|
|
|
|
+ def:=nil;
|
|
case b of
|
|
case b of
|
|
ibpointerdef : def:=cpointerdef.ppuload(ppufile);
|
|
ibpointerdef : def:=cpointerdef.ppuload(ppufile);
|
|
ibarraydef : def:=carraydef.ppuload(ppufile);
|
|
ibarraydef : def:=carraydef.ppuload(ppufile);
|
|
@@ -594,6 +594,8 @@ implementation
|
|
else
|
|
else
|
|
Message1(unit_f_ppu_invalid_entry,tostr(b));
|
|
Message1(unit_f_ppu_invalid_entry,tostr(b));
|
|
end;
|
|
end;
|
|
|
|
+ if assigned(def) then
|
|
|
|
+ tstoreddef(def).ppuload_subentries(ppufile);
|
|
InsertDef(def);
|
|
InsertDef(def);
|
|
until false;
|
|
until false;
|
|
end;
|
|
end;
|
|
@@ -604,12 +606,12 @@ implementation
|
|
b : byte;
|
|
b : byte;
|
|
sym : tsym;
|
|
sym : tsym;
|
|
begin
|
|
begin
|
|
- sym:=nil;
|
|
|
|
{ load start of definition section, which holds the amount of defs }
|
|
{ load start of definition section, which holds the amount of defs }
|
|
if ppufile.readentry<>ibstartsyms then
|
|
if ppufile.readentry<>ibstartsyms then
|
|
Message(unit_f_ppu_read_error);
|
|
Message(unit_f_ppu_read_error);
|
|
{ now read the symbols }
|
|
{ now read the symbols }
|
|
repeat
|
|
repeat
|
|
|
|
+ sym:=nil;
|
|
b:=ppufile.readentry;
|
|
b:=ppufile.readentry;
|
|
case b of
|
|
case b of
|
|
ibtypesym : sym:=ctypesym.ppuload(ppufile);
|
|
ibtypesym : sym:=ctypesym.ppuload(ppufile);
|
|
@@ -632,6 +634,8 @@ implementation
|
|
else
|
|
else
|
|
Message1(unit_f_ppu_invalid_entry,tostr(b));
|
|
Message1(unit_f_ppu_invalid_entry,tostr(b));
|
|
end;
|
|
end;
|
|
|
|
+ if assigned(sym) then
|
|
|
|
+ tstoredsym(sym).ppuload_subentries(ppufile);
|
|
Insert(sym,false);
|
|
Insert(sym,false);
|
|
until false;
|
|
until false;
|
|
end;
|
|
end;
|
|
@@ -656,7 +660,10 @@ implementation
|
|
begin
|
|
begin
|
|
def:=tstoreddef(DefList[i]);
|
|
def:=tstoreddef(DefList[i]);
|
|
if def.is_registered then
|
|
if def.is_registered then
|
|
- def.ppuwrite(ppufile);
|
|
|
|
|
|
+ begin
|
|
|
|
+ def.ppuwrite(ppufile);
|
|
|
|
+ def.ppuwrite_subentries(ppufile);
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
{ write end of definitions }
|
|
{ write end of definitions }
|
|
ppufile.writeentry(ibenddefs);
|
|
ppufile.writeentry(ibenddefs);
|
|
@@ -682,7 +689,10 @@ implementation
|
|
begin
|
|
begin
|
|
sym:=tstoredsym(SymList[i]);
|
|
sym:=tstoredsym(SymList[i]);
|
|
if sym.is_registered then
|
|
if sym.is_registered then
|
|
- sym.ppuwrite(ppufile);
|
|
|
|
|
|
+ begin
|
|
|
|
+ sym.ppuwrite(ppufile);
|
|
|
|
+ sym.ppuwrite_subentries(ppufile);
|
|
|
|
+ end;
|
|
end;
|
|
end;
|
|
{ end of symbols }
|
|
{ end of symbols }
|
|
ppufile.writeentry(ibendsyms);
|
|
ppufile.writeentry(ibendsyms);
|