mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-06 16:58:50 +02:00
* check handle for file closing
This commit is contained in:
parent
c888816ce9
commit
cea4495a20
@ -117,6 +117,8 @@ end;
|
|||||||
Procedure FileClose (Handle : Longint);
|
Procedure FileClose (Handle : Longint);
|
||||||
var Regs: registers;
|
var Regs: registers;
|
||||||
begin
|
begin
|
||||||
|
if Handle<=4 then
|
||||||
|
exit;
|
||||||
Regs.Eax := $3e00;
|
Regs.Eax := $3e00;
|
||||||
Regs.Ebx := Handle;
|
Regs.Ebx := Handle;
|
||||||
RealIntr($21, Regs);
|
RealIntr($21, Regs);
|
||||||
@ -454,7 +456,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.10 2000-01-07 16:41:31 daniel
|
Revision 1.11 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.10 2000/01/07 16:41:31 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.9 1999/11/25 15:55:52 pierre
|
Revision 1.9 1999/11/25 15:55:52 pierre
|
||||||
|
@ -743,6 +743,8 @@ procedure do_close(handle : longint);
|
|||||||
var
|
var
|
||||||
regs : trealregs;
|
regs : trealregs;
|
||||||
begin
|
begin
|
||||||
|
if Handle<=4 then
|
||||||
|
exit;
|
||||||
regs.realebx:=handle;
|
regs.realebx:=handle;
|
||||||
if handle<max_files then
|
if handle<max_files then
|
||||||
begin
|
begin
|
||||||
@ -1337,7 +1339,10 @@ Begin
|
|||||||
End.
|
End.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.28 2000-01-07 16:41:32 daniel
|
Revision 1.29 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.28 2000/01/07 16:41:32 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.27 2000/01/07 16:32:23 daniel
|
Revision 1.27 2000/01/07 16:32:23 daniel
|
||||||
|
@ -358,14 +358,7 @@ Begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
FileRec(f).mode:=fmClosed;
|
FileRec(f).mode:=fmClosed;
|
||||||
{$IFDEF OS2}
|
Do_Close(FileRec(f).Handle);
|
||||||
if (FileRec (F).Handle > 4) or
|
|
||||||
(os_MODE = osOS2) and (FileRec (F).Handle > 2) then
|
|
||||||
{ Only three standard handles under real OS/2 }
|
|
||||||
{$ELSE}
|
|
||||||
if FileRec(f).Handle>4 then
|
|
||||||
{$ENDIF}
|
|
||||||
Do_Close(FileRec(f).Handle);
|
|
||||||
End;
|
End;
|
||||||
|
|
||||||
|
|
||||||
@ -415,7 +408,10 @@ End;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.16 2000-01-07 16:41:33 daniel
|
Revision 1.17 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.16 2000/01/07 16:41:33 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.15 2000/01/07 16:32:24 daniel
|
Revision 1.15 2000/01/07 16:32:24 daniel
|
||||||
|
@ -62,6 +62,8 @@ end;
|
|||||||
Procedure FileClose (Handle : Longint);
|
Procedure FileClose (Handle : Longint);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
if Handle<=4 then
|
||||||
|
exit;
|
||||||
fdclose(Handle);
|
fdclose(Handle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -283,7 +285,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.12 2000-01-07 16:41:40 daniel
|
Revision 1.13 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.12 2000/01/07 16:41:40 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.11 1999/05/14 22:19:34 michael
|
Revision 1.11 1999/05/14 22:19:34 michael
|
||||||
|
@ -260,6 +260,8 @@ end;
|
|||||||
|
|
||||||
Procedure Do_Close(Handle:Longint);
|
Procedure Do_Close(Handle:Longint);
|
||||||
Begin
|
Begin
|
||||||
|
if Handle<=4 then
|
||||||
|
exit;
|
||||||
{$ifdef crtlib}
|
{$ifdef crtlib}
|
||||||
_rtl_close(Handle);
|
_rtl_close(Handle);
|
||||||
{$else}
|
{$else}
|
||||||
@ -739,7 +741,10 @@ End.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.32 2000-01-07 16:41:41 daniel
|
Revision 1.33 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.32 2000/01/07 16:41:41 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.31 2000/01/07 16:32:28 daniel
|
Revision 1.31 2000/01/07 16:32:28 daniel
|
||||||
|
@ -279,11 +279,16 @@ end;
|
|||||||
procedure do_close(h:longint);
|
procedure do_close(h:longint);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
{ Only three standard handles under real OS/2 }
|
||||||
|
if (h > 4) or
|
||||||
|
(os_MODE = osOS2) and (FileRec (F).Handle > 2) then
|
||||||
|
begin
|
||||||
asm
|
asm
|
||||||
movb $0x3e,%ah
|
movb $0x3e,%ah
|
||||||
mov h,%ebx
|
mov h,%ebx
|
||||||
call syscall
|
call syscall
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure do_erase(p:Pchar);
|
procedure do_erase(p:Pchar);
|
||||||
@ -750,7 +755,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.21 2000-01-09 20:45:58 hajny
|
Revision 1.22 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.21 2000/01/09 20:45:58 hajny
|
||||||
* FPK changed to FPC
|
* FPK changed to FPC
|
||||||
|
|
||||||
Revision 1.20 2000/01/07 16:41:50 daniel
|
Revision 1.20 2000/01/07 16:41:50 daniel
|
||||||
|
@ -80,6 +80,8 @@ end;
|
|||||||
Procedure FileClose (Handle : Longint);
|
Procedure FileClose (Handle : Longint);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
if Handle<=4 then
|
||||||
|
exit;
|
||||||
CloseHandle(Handle);
|
CloseHandle(Handle);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -427,7 +429,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.12 2000-01-07 16:41:52 daniel
|
Revision 1.13 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.12 2000/01/07 16:41:52 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.11 1999/08/18 08:38:42 michael
|
Revision 1.11 1999/08/18 08:38:42 michael
|
||||||
|
@ -333,7 +333,9 @@ end;
|
|||||||
|
|
||||||
procedure do_close(h : longint);
|
procedure do_close(h : longint);
|
||||||
begin
|
begin
|
||||||
closehandle(h);
|
if Handle<=4 then
|
||||||
|
exit;
|
||||||
|
CloseHandle(h);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -1159,7 +1161,10 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.54 2000-01-07 16:41:52 daniel
|
Revision 1.55 2000-01-16 22:25:38 peter
|
||||||
|
* check handle for file closing
|
||||||
|
|
||||||
|
Revision 1.54 2000/01/07 16:41:52 daniel
|
||||||
* copyright 2000
|
* copyright 2000
|
||||||
|
|
||||||
Revision 1.53 2000/01/07 16:32:34 daniel
|
Revision 1.53 2000/01/07 16:32:34 daniel
|
||||||
|
Loading…
Reference in New Issue
Block a user