--- Merging r48282 into '.':

U    packages/fcl-base/src/bufstream.pp
A    tests/webtbs/tw38351.pp
--- Recording mergeinfo for merge of r48282 into '.':
 U   .

# revisions: 48282
r48282 | florian | 2021-01-21 22:08:13 +0100 (Thu, 21 Jan 2021) | 1 line
Changed paths:
   M /trunk/packages/fcl-base/src/bufstream.pp
   A /trunk/tests/webtbs/tw38351.pp

  * fix TBufferedFileStream.Seek(0,soBeginning) as proposed by Andrey Zubarev, resolves #38351

git-svn-id: branches/fixes_3_2@49111 -
This commit is contained in:
marco 2021-04-03 09:14:56 +00:00
parent 46533ea1e8
commit b660729f12
3 changed files with 35 additions and 1 deletions

1
.gitattributes vendored
View File

@ -17845,6 +17845,7 @@ tests/webtbs/tw3829.pp svneol=native#text/plain
tests/webtbs/tw38306.pp -text svneol=native#text/pascal
tests/webtbs/tw3833.pp svneol=native#text/plain
tests/webtbs/tw38337.pp svneol=native#text/plain
tests/webtbs/tw38351.pp -text svneol=native#text/pascal
tests/webtbs/tw3840.pp svneol=native#text/plain
tests/webtbs/tw3841.pp svneol=native#text/plain
tests/webtbs/tw38429.pp svneol=native#text/pascal

View File

@ -812,7 +812,7 @@ begin
lNewOffset:=FCacheStreamPosition+Offset;
end;
end;
if lNewOffset>0 then begin
if lNewOffset>=0 then begin
FCacheStreamPosition:=lNewOffset;
Result:=lNewOffset;
end else begin

33
tests/webtbs/tw38351.pp Normal file
View File

@ -0,0 +1,33 @@
{$MODE OBJFPC}
{$APPTYPE CONSOLE}
uses Classes, BufStream, Sysutils;
procedure TestBufferedFileStream;
var
F: TStream;
pf: File;
begin
Assign(pf,'tw38351.tmp');
Rewrite(pf,1);
Seek(pf,100);
Close(pf);
F := TBufferedFileStream.Create('tw38351.tmp', fmOpenRead);
try
Writeln(F.Position);
if F.Position<>0 then
halt(1);
Writeln(F.Seek(0, soBeginning)); // TFileStream = 0, TBufferedFileStream = -1
Writeln(F.Position);
if F.Position<>0 then
halt(1);
finally
F.Free;
DeleteFile('tw38351.tmp');
end;
end;
begin
TestBufferedFileStream;
writeln('ok');
end.