mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 17:47:56 +02:00
*fix fileopen (please OS2,EMX maintainers have a look)
git-svn-id: trunk@3858 -
This commit is contained in:
parent
8e5e1d8cdb
commit
42bd89095f
@ -410,6 +410,7 @@ asm
|
||||
mov eax, 7F2Bh
|
||||
call syscall
|
||||
pop ebx
|
||||
//check me, should return feInvalidHandle(=-1) if fail, other negative returned value are no more errors
|
||||
end {['eax', 'ebx', 'ecx', 'edx']};
|
||||
|
||||
|
||||
|
@ -419,7 +419,8 @@ begin
|
||||
FHandle:=FileCreate(AFileName)
|
||||
else
|
||||
FHAndle:=FileOpen(AFileName,Mode);
|
||||
If FHandle<0 then
|
||||
|
||||
If (FHandle=feInvalidHandle) then
|
||||
If Mode=fmcreate then
|
||||
raise EFCreateError.createfmt(SFCreateError,[AFileName])
|
||||
else
|
||||
@ -435,7 +436,8 @@ begin
|
||||
FHandle:=FileCreate(AFileName)
|
||||
else
|
||||
FHAndle:=FileOpen(AFileName,Mode);
|
||||
If FHandle<0 then
|
||||
|
||||
If (FHandle=feInvalidHandle) then
|
||||
If Mode=fmcreate then
|
||||
raise EFCreateError.createfmt(SFCreateError,[AFileName])
|
||||
else
|
||||
|
@ -68,6 +68,9 @@ Const
|
||||
fsFromCurrent = 1;
|
||||
fsFromEnd = 2;
|
||||
|
||||
{ File errors }
|
||||
feInvalidHandle : THandle = -1; //return value on FileOpen error
|
||||
|
||||
Function FileOpen (Const FileName : string; Mode : Integer) : THandle;
|
||||
Function FileCreate (Const FileName : String) : THandle;
|
||||
Function FileCreate (Const FileName : String; Mode : Integer) : THandle;
|
||||
|
@ -65,7 +65,7 @@
|
||||
|
||||
begin
|
||||
fd:=FileOpen(FileName,fmOpenRead);
|
||||
If (Fd>=0) then
|
||||
If (Fd<>feInvalidHandle) then
|
||||
try
|
||||
Result:=FileSetDate(fd,Age);
|
||||
finally
|
||||
|
@ -466,7 +466,8 @@ begin
|
||||
If Rc=0 then
|
||||
FileOpen:=Handle
|
||||
else
|
||||
FileOpen:=-RC;
|
||||
FileOpen:=feInvalidHandle; //FileOpen:=-RC;
|
||||
//should return feInvalidHandle(=-1) if fail, other negative returned value are no more errors
|
||||
end;
|
||||
|
||||
function FileCreate (const FileName: string): longint;
|
||||
|
@ -158,6 +158,7 @@ begin
|
||||
result := CreateFile(@FN[1], dword(AccessMode[Mode and 3]),
|
||||
dword(ShareMode[(Mode and $F0) shr 4]), nil, OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL, 0);
|
||||
//if fail api return feInvalidHandle (INVALIDE_HANDLE=feInvalidHandle=-1)
|
||||
end;
|
||||
|
||||
|
||||
|
@ -147,6 +147,7 @@ begin
|
||||
result := CreateFile(fn, dword(AccessMode[Mode and 3]),
|
||||
dword(ShareMode[(Mode and $F0) shr 4]), nil, OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL, 0);
|
||||
//if fail api return feInvalidHandle (INVALIDE_HANDLE=feInvalidHandle=-1)
|
||||
FreeMem(fn);
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user