mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 21:49:11 +02:00
* fixed some off-by-1 errors in TOmfRecord_PUBDEF.EncodeTo
git-svn-id: trunk@30491 -
This commit is contained in:
parent
c4a8f22bc9
commit
fb45d5e11b
@ -865,7 +865,7 @@ implementation
|
|||||||
RawRecord.RecordType:=RT_PUBDEF;
|
RawRecord.RecordType:=RT_PUBDEF;
|
||||||
|
|
||||||
NextOfs:=RawRecord.WriteIndexedRef(0,BaseGroupIndex);
|
NextOfs:=RawRecord.WriteIndexedRef(0,BaseGroupIndex);
|
||||||
NextOfs:=RawRecord.WriteIndexedRef(0,BaseSegmentIndex);
|
NextOfs:=RawRecord.WriteIndexedRef(NextOfs,BaseSegmentIndex);
|
||||||
if BaseSegmentIndex=0 then
|
if BaseSegmentIndex=0 then
|
||||||
begin
|
begin
|
||||||
RawRecord.RawData[NextOfs]:=Byte(BaseFrame);
|
RawRecord.RawData[NextOfs]:=Byte(BaseFrame);
|
||||||
@ -879,10 +879,9 @@ implementation
|
|||||||
repeat
|
repeat
|
||||||
Inc(LastIncludedIndex);
|
Inc(LastIncludedIndex);
|
||||||
Inc(Len,TOmfPublicNameElement(PublicNames[LastIncludedIndex]).GetLengthInFile(Is32Bit));
|
Inc(Len,TOmfPublicNameElement(PublicNames[LastIncludedIndex]).GetLengthInFile(Is32Bit));
|
||||||
until (LastIncludedIndex>=PublicNames.Count) or ((Len+TOmfPublicNameElement(PublicNames[LastIncludedIndex+1]).GetLengthInFile(Is32Bit))>=RecordLengthLimit);
|
until (LastIncludedIndex>=(PublicNames.Count-1)) or ((Len+TOmfPublicNameElement(PublicNames[LastIncludedIndex+1]).GetLengthInFile(Is32Bit))>=RecordLengthLimit);
|
||||||
|
|
||||||
{ write the public names... }
|
{ write the public names... }
|
||||||
NextOfs:=0;
|
|
||||||
for I:=NextIndex to LastIncludedIndex do
|
for I:=NextIndex to LastIncludedIndex do
|
||||||
begin
|
begin
|
||||||
PubName:=TOmfPublicNameElement(PublicNames[I]);
|
PubName:=TOmfPublicNameElement(PublicNames[I]);
|
||||||
@ -903,7 +902,7 @@ implementation
|
|||||||
end;
|
end;
|
||||||
NextOfs:=RawRecord.WriteIndexedRef(NextOfs,PubName.TypeIndex);
|
NextOfs:=RawRecord.WriteIndexedRef(NextOfs,PubName.TypeIndex);
|
||||||
end;
|
end;
|
||||||
RawRecord.RecordLength:=Len;
|
RawRecord.RecordLength:=Len+1;
|
||||||
RawRecord.CalculateChecksumByte;
|
RawRecord.CalculateChecksumByte;
|
||||||
|
|
||||||
{ update NextIndex }
|
{ update NextIndex }
|
||||||
|
Loading…
Reference in New Issue
Block a user