ソースを参照

* Merging revisions r42048,r42049,r42056,r42057 from trunk:
------------------------------------------------------------------------
r42048 | michael | 2019-05-12 17:33:26 +0200 (Sun, 12 May 2019) | 1 line

* FIx compilation for platforms that do not have extended
------------------------------------------------------------------------
r42049 | michael | 2019-05-12 17:36:04 +0200 (Sun, 12 May 2019) | 1 line

* FIx compilation with 3.0.4
------------------------------------------------------------------------
r42056 | michael | 2019-05-13 13:47:46 +0200 (Mon, 13 May 2019) | 1 line

* Make explicit that Integer is 32-bit
------------------------------------------------------------------------
r42057 | michael | 2019-05-13 22:15:00 +0200 (Mon, 13 May 2019) | 1 line

* Fix bug ID #35576
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@42425 -

michael 6 年 前
コミット
d65408db6c
2 ファイル変更27 行追加14 行削除
  1. 13 9
      rtl/objpas/classes/classesh.inc
  2. 14 5
      rtl/objpas/classes/streams.inc

+ 13 - 9
rtl/objpas/classes/classesh.inc

@@ -893,8 +893,8 @@ type
     Procedure WriteExactSizeData(Const Buffer; aSize,aCount : NativeInt);
   public
     function Read(var Buffer; Count: Longint): Longint; virtual;
-    function Read(Buffer: TBytes; Count: Longint): Longint; overload;
-    function Read(Buffer : TBytes; aOffset, Count: Longint): Longint; overload;
+    function Read(var Buffer: TBytes; Count: Longint): Longint; overload;
+    function Read( Buffer : TBytes; aOffset, Count: Longint): Longint; overload;
 
     function Write(const Buffer: TBytes; Offset, Count: Longint): Longint; overload;
     function Write(const Buffer: TBytes; Count: Longint): Longint; overload;
@@ -904,7 +904,7 @@ type
     function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; virtual; overload;
 
     function ReadData(Buffer: Pointer; Count: NativeInt): NativeInt; overload;
-    function ReadData(const Buffer: TBytes; Count: NativeInt): NativeInt; overload;
+    function ReadData(Buffer: TBytes; Count: NativeInt): NativeInt; overload;
     function ReadData(var Buffer: Boolean): NativeInt; overload;
     function ReadData(var Buffer: Boolean; Count: NativeInt): NativeInt; overload;
     function ReadData(var Buffer: AnsiChar): NativeInt; overload;
@@ -931,11 +931,12 @@ type
     function ReadData(var Buffer: Single; Count: NativeInt): NativeInt; overload;
     function ReadData(var Buffer: Double): NativeInt; overload;
     function ReadData(var Buffer: Double; Count: NativeInt): NativeInt; overload;
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
     function ReadData(var Buffer: Extended): NativeInt; overload;
     function ReadData(var Buffer: Extended; Count: NativeInt): NativeInt; overload;
     function ReadData(var Buffer: TExtended80Rec): NativeInt; overload;
     function ReadData(var Buffer: TExtended80Rec; Count: NativeInt): NativeInt; overload;
-
+{$ENDIF}
     procedure ReadBuffer(var Buffer; Count: Longint);
     procedure ReadBuffer(var Buffer: TBytes; Count: NativeInt); overload;
     procedure ReadBuffer(var Buffer: TBytes; Offset, Count: NativeInt); overload;
@@ -966,11 +967,12 @@ type
     procedure ReadBufferData(var Buffer: Single; Count: NativeInt); overload;
     procedure ReadBufferData(var Buffer: Double); overload;
     procedure ReadBufferData(var Buffer: Double; Count: NativeInt); overload;
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
     procedure ReadBufferData(var Buffer: Extended); overload;
     procedure ReadBufferData(var Buffer: Extended; Count: NativeInt); overload;
     procedure ReadBufferData(var Buffer: TExtended80Rec); overload;
     procedure ReadBufferData(var Buffer: TExtended80Rec; Count: NativeInt); overload;
-
+{$ENDIF}
     procedure WriteBuffer(const Buffer; Count: Longint);
     procedure WriteBuffer(const Buffer: TBytes; Count: NativeInt); overload;
     procedure WriteBuffer(const Buffer: TBytes; Offset, Count: NativeInt); overload;
@@ -1003,13 +1005,14 @@ type
     function WriteData(const Buffer: Single; Count: NativeInt): NativeInt; overload;
     function WriteData(const Buffer: Double): NativeInt; overload;
     function WriteData(const Buffer: Double; Count: NativeInt): NativeInt; overload;
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
     function WriteData(const Buffer: Extended): NativeInt; overload;
     function WriteData(const Buffer: Extended; Count: NativeInt): NativeInt; overload;
     function WriteData(const Buffer: TExtended80Rec): NativeInt; overload;
     function WriteData(const Buffer: TExtended80Rec; Count: NativeInt): NativeInt; overload;
-
-    procedure WriteBufferData(Buffer: Integer); overload;
-    procedure WriteBufferData(Buffer: Integer; Count: NativeInt); overload;
+{$ENDIF}
+    procedure WriteBufferData(Buffer: Int32); overload;
+    procedure WriteBufferData(Buffer: Int32; Count: NativeInt); overload;
     procedure WriteBufferData(Buffer: Boolean); overload;
     procedure WriteBufferData(Buffer: Boolean; Count: NativeInt); overload;
     procedure WriteBufferData(Buffer: AnsiChar); overload;
@@ -1034,11 +1037,12 @@ type
     procedure WriteBufferData(Buffer: Single; Count: NativeInt); overload;
     procedure WriteBufferData(Buffer: Double); overload;
     procedure WriteBufferData(Buffer: Double; Count: NativeInt); overload;
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
     procedure WriteBufferData(Buffer: Extended); overload;
     procedure WriteBufferData(Buffer: Extended; Count: NativeInt); overload;
     procedure WriteBufferData(Buffer: TExtended80Rec); overload;
     procedure WriteBufferData(Buffer: TExtended80Rec; Count: NativeInt); overload;
-
+{$ENDIF}
     function CopyFrom(Source: TStream; Count: Int64): Int64;
     function ReadComponent(Instance: TComponent): TComponent;
     function ReadComponentRes(Instance: TComponent): TComponent;

+ 14 - 5
rtl/objpas/classes/streams.inc

@@ -30,7 +30,7 @@ begin
   Result := 0;
 end;
 
-function TStream.Read(Buffer: TBytes; Count: Longint): Longint;
+function TStream.Read(var Buffer: TBytes; Count: Longint): Longint;
 begin
   Result:=Read(Buffer,0,Count);
 end;
@@ -203,7 +203,7 @@ end;
    Result:=Read(Buffer^,Count);
  end;
 
- function TStream.ReadData(const Buffer: TBytes; Count: NativeInt): NativeInt;
+ function TStream.ReadData({var} Buffer: TBytes; Count: NativeInt): NativeInt;
  begin
    Result:=Read(Buffer,0,Count);
  end;
@@ -382,6 +382,7 @@ begin
   Result:=ReadMaxSizeData(Buffer,SizeOf(Buffer),Count);
 end;
 
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
 function TStream.ReadData(var Buffer: Extended): NativeInt;
 begin
   Result:=Read(Buffer,sizeOf(Buffer));
@@ -401,6 +402,7 @@ function TStream.ReadData(var Buffer: TExtended80Rec; Count: NativeInt): NativeI
 begin
   Result:=ReadMaxSizeData(Buffer,SizeOf(Buffer),Count);
 end;
+{$ENDIF}
 
 procedure TStream.ReadBuffer(var Buffer; Count: Longint);
 
@@ -557,6 +559,7 @@ begin
   ReadExactSizeData(Buffer,SizeOf(Buffer),Count);
 end;
 
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
 procedure TStream.ReadBufferData(var Buffer: Extended);
 begin
   ReadBuffer(Buffer,SizeOf(Buffer));
@@ -576,6 +579,7 @@ procedure TStream.ReadBufferData(var Buffer: TExtended80Rec; Count: NativeInt);
 begin
   ReadExactSizeData(Buffer,SizeOf(Buffer),Count);
 end;
+{$ENDIF}
 
 procedure TStream.WriteBuffer(const Buffer; Count: Longint);
 
@@ -742,6 +746,7 @@ begin
   Result:=WriteMaxSizeData(Buffer,SizeOf(Buffer),Count);
 end;
 
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
 function TStream.WriteData(const Buffer: Extended): NativeInt;
 begin
   Result:=Write(Buffer,SizeOf(Buffer));
@@ -761,13 +766,14 @@ function TStream.WriteData(const Buffer: TExtended80Rec; Count: NativeInt): Nati
 begin
   Result:=WriteMaxSizeData(Buffer,SizeOf(Buffer),Count);
 end;
+{$ENDIF}
 
-procedure TStream.WriteBufferData(Buffer: Integer);
+procedure TStream.WriteBufferData(Buffer: Int32);
 begin
   WriteBuffer(Buffer,SizeOf(Buffer));
 end;
 
-procedure TStream.WriteBufferData(Buffer: Integer; Count: NativeInt);
+procedure TStream.WriteBufferData(Buffer: Int32; Count: NativeInt);
 begin
   WriteMaxSizeData(Buffer,SizeOf(Buffer),Count);
 end;
@@ -892,6 +898,8 @@ begin
   WriteExactSizeData(Buffer,SizeOf(Buffer),Count);
 end;
 
+
+{$IFDEF FPC_HAS_TYPE_EXTENDED}
 procedure TStream.WriteBufferData(Buffer: Extended);
 begin
   WriteBuffer(Buffer,SizeOf(Buffer));
@@ -911,6 +919,7 @@ procedure TStream.WriteBufferData(Buffer: TExtended80Rec; Count: NativeInt);
 begin
   WriteExactSizeData(Buffer,SizeOf(Buffer),Count);
 end;
+{$ENDIF}
 
   function TStream.CopyFrom(Source: TStream; Count: Int64): Int64;
 
@@ -1861,7 +1870,7 @@ begin
         sz := sizeof(Buffer)
       else
         sz := cb;
-      sz := FStream.Read(buffer, sz);
+      sz := FStream.Read(buffer[0],sz);
       inc(cbRead, sz);
       stm.Write(@buffer[0], sz, @sz);
       inc(cbWritten, sz);