mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-08 06:39:30 +01:00
* fixed tdynamicarray.readstream
This commit is contained in:
parent
1b1f938c43
commit
668e90ef91
@ -258,7 +258,7 @@ interface
|
|||||||
function read(var d;len:integer):integer;
|
function read(var d;len:integer):integer;
|
||||||
procedure write(const d;len:integer);
|
procedure write(const d;len:integer);
|
||||||
procedure writestr(const s:string);
|
procedure writestr(const s:string);
|
||||||
procedure readstream(f:TCStream);
|
procedure readstream(f:TCStream;maxlen:longint);
|
||||||
procedure writestream(f:TCStream);
|
procedure writestream(f:TCStream);
|
||||||
property BlockSize : integer read FBlocksize;
|
property BlockSize : integer read FBlocksize;
|
||||||
property FirstBlock : PDynamicBlock read FFirstBlock;
|
property FirstBlock : PDynamicBlock read FFirstBlock;
|
||||||
@ -1591,13 +1591,18 @@ end;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure tdynamicarray.readstream(f:TCStream);
|
procedure tdynamicarray.readstream(f:TCStream;maxlen:longint);
|
||||||
var
|
var
|
||||||
i,left : integer;
|
i,left : integer;
|
||||||
begin
|
begin
|
||||||
|
if maxlen=-1 then
|
||||||
|
maxlen:=maxlongint;
|
||||||
repeat
|
repeat
|
||||||
left:=blocksize-FPosnblock^.used;
|
left:=blocksize-FPosnblock^.used;
|
||||||
|
if left>maxlen then
|
||||||
|
left:=maxlen;
|
||||||
i:=f.Read(FPosnblock^.data[FPosnblock^.used],left);
|
i:=f.Read(FPosnblock^.data[FPosnblock^.used],left);
|
||||||
|
dec(maxlen,i);
|
||||||
inc(FPosnblock^.used,i);
|
inc(FPosnblock^.used,i);
|
||||||
if FPosnblock^.used=blocksize then
|
if FPosnblock^.used=blocksize then
|
||||||
begin
|
begin
|
||||||
@ -1609,7 +1614,7 @@ end;
|
|||||||
FPosnblock:=FLastblock;
|
FPosnblock:=FLastblock;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
until (i<left);
|
until (i<left) or (maxlen=0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -1629,7 +1634,10 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.3 2000-12-29 21:57:27 peter
|
Revision 1.4 2001-03-05 21:40:01 peter
|
||||||
|
* fixed tdynamicarray.readstream
|
||||||
|
|
||||||
|
Revision 1.3 2000/12/29 21:57:27 peter
|
||||||
* 'classified' tdictionary, but leave it within an define
|
* 'classified' tdictionary, but leave it within an define
|
||||||
|
|
||||||
Revision 1.2 2000/12/25 00:07:25 peter
|
Revision 1.2 2000/12/25 00:07:25 peter
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user