* fixing writing of setdefs

* fixed copying of setdefs
* increased ppu version

git-svn-id: trunk@6189 -
This commit is contained in:
florian 2007-01-25 19:29:54 +00:00
parent fae803869f
commit 1d3a9cd87a
2 changed files with 17 additions and 16 deletions

View File

@ -43,7 +43,7 @@ type
{$endif Test_Double_checksum}
const
CurrentPPUVersion=74;
CurrentPPUVersion=75;
{ buffer sizes }
maxentrysize = 1024;

View File

@ -2033,23 +2033,21 @@ implementation
ppufile.getderef(elementdefderef);
settype:=tsettype(ppufile.getbyte);
case settype of
normset : savesize:=ppufile.getaint;
varset : savesize:=ppufile.getlongint;
smallset : savesize:=Sizeof(longint);
normset :
savesize:=ppufile.getaint;
varset,
smallset :
savesize:=ppufile.getlongint;
end;
end;
function tsetdef.getcopy : tstoreddef;
begin
case settype of
smallset:
result:=tsetdef.create(elementdef,31);
normset:
result:=tsetdef.create(elementdef,255);
else
internalerror(2004121202);
end;
result:=tsetdef.create(elementdef,setmax);
{ the copy might have been created with a different setalloc setting }
tsetdef(result).settype:=settype;
tsetdef(result).savesize:=savesize;
end;
@ -2058,10 +2056,13 @@ implementation
inherited ppuwrite(ppufile);
ppufile.putderef(elementdefderef);
ppufile.putbyte(byte(settype));
if settype=varset then
ppufile.putlongint(savesize);
if settype=normset then
ppufile.putaint(savesize);
case settype of
varset,
smallset:
ppufile.putlongint(savesize);
normset:
ppufile.putaint(savesize);
end;
ppufile.writeentry(ibsetdef);
end;