mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-05 16:17:18 +01:00
TFileStreamUTF8.Create: fix error when mode = fmCreate or fmSomeShareMode.
Respect mode parameter when creating a file. git-svn-id: trunk@41331 -
This commit is contained in:
parent
514fa100d5
commit
b759d82dab
@ -79,24 +79,8 @@ begin
|
||||
end;
|
||||
|
||||
constructor TFileStreamUTF8.Create(const AFileName: utf8string; Mode: Word);
|
||||
var
|
||||
lHandle: THandle;
|
||||
begin
|
||||
FFileName:= AFileName;
|
||||
if Mode = fmcreate then
|
||||
lHandle:= FileCreateUTF8(AFileName)
|
||||
else
|
||||
lHandle:= FileOpenUTF8(AFileName, Mode);
|
||||
|
||||
If (THandle(lHandle)=feInvalidHandle) then
|
||||
begin
|
||||
if Mode = fmCreate then
|
||||
raise EFCreateError.createfmt({SFCreateError}'Unable to create file "%s"', [AFileName])
|
||||
else
|
||||
raise EFOpenError.Createfmt({SFOpenError}'Unable to open file "%s"', [AFilename]);
|
||||
end
|
||||
else
|
||||
inherited Create(lHandle);
|
||||
Create(AFileName,Mode,438);
|
||||
end;
|
||||
|
||||
constructor TFileStreamUTF8.Create(const AFileName: utf8string; Mode: Word; Rights: Cardinal);
|
||||
@ -104,8 +88,8 @@ var
|
||||
lHandle: THandle;
|
||||
begin
|
||||
FFileName:=AFileName;
|
||||
if Mode=fmcreate then
|
||||
lHandle:=FileCreateUTF8(AFileName,Rights)
|
||||
if (Mode and fmCreate) > 0 then
|
||||
lHandle:=FileCreateUTF8(AFileName,Mode,Rights)
|
||||
else
|
||||
lHandle:=FileOpenUTF8(AFileName,Mode);
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user