mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-11 20:50:57 +01:00
* fixing writing of setdefs
* fixed copying of setdefs * increased ppu version git-svn-id: trunk@6189 -
This commit is contained in:
parent
fae803869f
commit
1d3a9cd87a
@ -43,7 +43,7 @@ type
|
|||||||
{$endif Test_Double_checksum}
|
{$endif Test_Double_checksum}
|
||||||
|
|
||||||
const
|
const
|
||||||
CurrentPPUVersion=74;
|
CurrentPPUVersion=75;
|
||||||
|
|
||||||
{ buffer sizes }
|
{ buffer sizes }
|
||||||
maxentrysize = 1024;
|
maxentrysize = 1024;
|
||||||
|
|||||||
@ -2033,23 +2033,21 @@ implementation
|
|||||||
ppufile.getderef(elementdefderef);
|
ppufile.getderef(elementdefderef);
|
||||||
settype:=tsettype(ppufile.getbyte);
|
settype:=tsettype(ppufile.getbyte);
|
||||||
case settype of
|
case settype of
|
||||||
normset : savesize:=ppufile.getaint;
|
normset :
|
||||||
varset : savesize:=ppufile.getlongint;
|
savesize:=ppufile.getaint;
|
||||||
smallset : savesize:=Sizeof(longint);
|
varset,
|
||||||
|
smallset :
|
||||||
|
savesize:=ppufile.getlongint;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function tsetdef.getcopy : tstoreddef;
|
function tsetdef.getcopy : tstoreddef;
|
||||||
begin
|
begin
|
||||||
case settype of
|
result:=tsetdef.create(elementdef,setmax);
|
||||||
smallset:
|
{ the copy might have been created with a different setalloc setting }
|
||||||
result:=tsetdef.create(elementdef,31);
|
tsetdef(result).settype:=settype;
|
||||||
normset:
|
tsetdef(result).savesize:=savesize;
|
||||||
result:=tsetdef.create(elementdef,255);
|
|
||||||
else
|
|
||||||
internalerror(2004121202);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -2058,10 +2056,13 @@ implementation
|
|||||||
inherited ppuwrite(ppufile);
|
inherited ppuwrite(ppufile);
|
||||||
ppufile.putderef(elementdefderef);
|
ppufile.putderef(elementdefderef);
|
||||||
ppufile.putbyte(byte(settype));
|
ppufile.putbyte(byte(settype));
|
||||||
if settype=varset then
|
case settype of
|
||||||
ppufile.putlongint(savesize);
|
varset,
|
||||||
if settype=normset then
|
smallset:
|
||||||
ppufile.putaint(savesize);
|
ppufile.putlongint(savesize);
|
||||||
|
normset:
|
||||||
|
ppufile.putaint(savesize);
|
||||||
|
end;
|
||||||
ppufile.writeentry(ibsetdef);
|
ppufile.writeentry(ibsetdef);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user