mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-05 10:55:56 +02:00
fixed LRS reading/writing of extended on 64bit processors from Andrew Haines
git-svn-id: trunk@8261 -
This commit is contained in:
parent
29fded294e
commit
22c1e9cb16
@ -2323,11 +2323,15 @@ end;
|
|||||||
function ReadLRSExtended(s: TStream): Extended;
|
function ReadLRSExtended(s: TStream): Extended;
|
||||||
begin
|
begin
|
||||||
Result:=0;
|
Result:=0;
|
||||||
{$IFDEF CPUi386}
|
{$IFDEF FPC_HAS_TYPE_EXTENDED}
|
||||||
s.Read(Result,10);
|
s.Read(Result,10);
|
||||||
{$ENDIF}
|
{$IFDEF Endian_BIG}
|
||||||
{$IFDEF CPUPowerPC}
|
ReverseBytes(@Result,10);
|
||||||
Result:=ReadLRSEndianLittleExtendedAsDouble(s);
|
{$ENDIF}
|
||||||
|
{$ELSE}
|
||||||
|
{$IFDEF CPUPowerPC}
|
||||||
|
Result:=ReadLRSEndianLittleExtendedAsDouble(s);
|
||||||
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2506,18 +2510,23 @@ end;
|
|||||||
|
|
||||||
procedure WriteLRSExtended(s: TStream; const e: extended);
|
procedure WriteLRSExtended(s: TStream; const e: extended);
|
||||||
begin
|
begin
|
||||||
{$IFDEF CPUi386}
|
{$IFDEF FPC_HAS_TYPE_EXTENDED}
|
||||||
s.Write(e,10);
|
{$IFDEF ENDIAN_BIG}
|
||||||
{$ENDIF}
|
WriteLRS10BytesReversed(s, @e);
|
||||||
{$IFDEF CPUPowerPC}
|
{$ELSE ENDIAN_LITTLE}
|
||||||
if SizeOf(e)=10 then
|
s.Write(e,10);
|
||||||
WriteLRS10BytesReversed(s,@e)
|
{$ENDIF}
|
||||||
else if SizeOf(e)=8 then
|
{$ELSE}
|
||||||
WriteLRSEndianBigDoubleAsEndianLittleExtended(s,@e)
|
{$IFDEF CPUPowerPC}
|
||||||
else begin
|
if SizeOf(e)=10 then
|
||||||
debugln('WARNING: WriteLRSExtended not implemented yet for PowerPC');
|
WriteLRS10BytesReversed(s,@e)
|
||||||
WriteLRSNull(s,10);
|
else if SizeOf(e)=8 then
|
||||||
end;
|
WriteLRSEndianBigDoubleAsEndianLittleExtended(s,@e)
|
||||||
|
else begin
|
||||||
|
debugln('WARNING: WriteLRSExtended not implemented yet for PowerPC');
|
||||||
|
WriteLRSNull(s,10);
|
||||||
|
end;
|
||||||
|
{$ENDIF}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user