TBufferedFileStream.Seek(0,soBeginning) not working
Original Reporter info from Mantis: zamtmn @zamtmn
-
Reporter name: Andrey Zubarev
Original Reporter info from Mantis: zamtmn @zamtmn
- Reporter name: Andrey Zubarev
Description:
function TBufferedFileStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64;
var
lNewOffset: int64;
begin
Case Origin of
soEnd:
begin
lNewOffset:=FCacheStreamSize+Offset;
end;
soBeginning:
begin
lNewOffset:=0+Offset;
end;
soCurrent:
begin
lNewOffset:=FCacheStreamPosition+Offset;
end;
end;
if lNewOffset>0 then begin
FCacheStreamPosition:=lNewOffset;
Result:=lNewOffset;
end else begin
// This is compatible with FPC stream
// as it returns the negative value :-?
// but in fact does not move the read pointer.
Result:=-1;
end;
end;
Need "if lNewOffset>=0 then begin", offset can be zero
Mantis conversion info:
- Mantis ID: 38351
- Fixed in version: 3.3.1
- Fixed in revision: 48282 (#f4c74b6b)