* check handle for file closing

This commit is contained in:
peter 2000-01-16 22:25:38 +00:00
parent c888816ce9
commit cea4495a20
8 changed files with 51 additions and 17 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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