mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 18:49:27 +02:00
Daniel change removed : broke make cycle !!
This commit is contained in:
parent
ab763cd69c
commit
76375f02f8
@ -106,6 +106,7 @@ Function DiskFree(drive: byte) : longint;
|
|||||||
Function DiskSize(drive: byte) : longint;
|
Function DiskSize(drive: byte) : longint;
|
||||||
Procedure FindFirst(const path: pathstr; attr: word; var f: searchRec);
|
Procedure FindFirst(const path: pathstr; attr: word; var f: searchRec);
|
||||||
Procedure FindNext(var f: searchRec);
|
Procedure FindNext(var f: searchRec);
|
||||||
|
Procedure FindClose(Var f: SearchRec);
|
||||||
|
|
||||||
{File}
|
{File}
|
||||||
Procedure GetFAttr(var f; var attr: word);
|
Procedure GetFAttr(var f; var attr: word);
|
||||||
@ -144,8 +145,8 @@ uses
|
|||||||
--- Dos Interrupt ---
|
--- Dos Interrupt ---
|
||||||
******************************************************************************}
|
******************************************************************************}
|
||||||
|
|
||||||
var dosregs:registers;
|
var
|
||||||
oldexitproc:pointer;
|
dosregs : registers;
|
||||||
|
|
||||||
procedure LoadDosError;
|
procedure LoadDosError;
|
||||||
begin
|
begin
|
||||||
@ -467,9 +468,7 @@ type
|
|||||||
shortname : array[0..13] of byte;
|
shortname : array[0..13] of byte;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
const LFNfindhandle:word=$ffff;
|
procedure LFNSearchRec2Dos(const w:LFNSearchRec;hdl:longint;var d:Searchrec);
|
||||||
|
|
||||||
procedure LFNSearchRec2Dos(const w:LFNSearchRec;var d:Searchrec);
|
|
||||||
var
|
var
|
||||||
Len : longint;
|
Len : longint;
|
||||||
begin
|
begin
|
||||||
@ -485,34 +484,23 @@ begin
|
|||||||
d.Time:=lmTime;
|
d.Time:=lmTime;
|
||||||
d.Size:=Size;
|
d.Size:=Size;
|
||||||
d.Attr:=Attr and $FF;
|
d.Attr:=Attr and $FF;
|
||||||
|
Move(hdl,d.Fill,4);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure LFNFindFirst(path:pchar;attr:longint;var s:searchrec);
|
procedure LFNFindFirst(path:pchar;attr:longint;var s:searchrec);
|
||||||
|
var
|
||||||
var i:longint;
|
i : longint;
|
||||||
w:LFNSearchRec;
|
w : LFNSearchRec;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if LFNfindhandle<>$ffff then
|
|
||||||
begin
|
|
||||||
dosregs.bx:=LFNfindhandle;
|
|
||||||
dosregs.ax:=$71a1;
|
|
||||||
msdos(dosregs);
|
|
||||||
LoadDosError;
|
|
||||||
end;
|
|
||||||
if doserror=0 then
|
|
||||||
begin
|
|
||||||
{ allow slash as backslash }
|
{ allow slash as backslash }
|
||||||
for i:=0 to strlen(path) do
|
for i:=0 to strlen(path) do
|
||||||
if path[i]='/' then
|
if path[i]='/' then path[i]:='\';
|
||||||
path[i]:='\';
|
|
||||||
dosregs.si:=1; { use ms-dos time }
|
dosregs.si:=1; { use ms-dos time }
|
||||||
dosregs.ecx:=attr;
|
dosregs.ecx:=attr;
|
||||||
dosregs.edx:=tb_offset+Sizeof(LFNSearchrec)+1;
|
dosregs.edx:=tb_offset+Sizeof(LFNSearchrec)+1;
|
||||||
dosmemput(tb_segment,tb_offset+Sizeof(LFNSearchrec)+1,path^,
|
dosmemput(tb_segment,tb_offset+Sizeof(LFNSearchrec)+1,path^,strlen(path)+1);
|
||||||
strlen(path)+1);
|
|
||||||
dosregs.ds:=tb_segment;
|
dosregs.ds:=tb_segment;
|
||||||
dosregs.edi:=tb_offset;
|
dosregs.edi:=tb_offset;
|
||||||
dosregs.es:=tb_segment;
|
dosregs.es:=tb_segment;
|
||||||
@ -520,27 +508,39 @@ begin
|
|||||||
msdos(dosregs);
|
msdos(dosregs);
|
||||||
LoadDosError;
|
LoadDosError;
|
||||||
copyfromdos(w,sizeof(LFNSearchRec));
|
copyfromdos(w,sizeof(LFNSearchRec));
|
||||||
LFNSearchRec2Dos(w,s);
|
LFNSearchRec2Dos(w,dosregs.ax,s);
|
||||||
LFNfindhandle:=dosregs.ax
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure LFNFindNext(var s:searchrec);
|
procedure LFNFindNext(var s:searchrec);
|
||||||
var
|
var
|
||||||
|
hdl : longint;
|
||||||
w : LFNSearchRec;
|
w : LFNSearchRec;
|
||||||
begin
|
begin
|
||||||
|
Move(s.Fill,hdl,4);
|
||||||
dosregs.si:=1; { use ms-dos time }
|
dosregs.si:=1; { use ms-dos time }
|
||||||
dosregs.edi:=tb_offset;
|
dosregs.edi:=tb_offset;
|
||||||
dosregs.es:=tb_segment;
|
dosregs.es:=tb_segment;
|
||||||
dosregs.bx:=LFNfindhandle;
|
dosregs.ebx:=hdl;
|
||||||
dosregs.ax:=$714f;
|
dosregs.ax:=$714f;
|
||||||
msdos(dosregs);
|
msdos(dosregs);
|
||||||
LoadDosError;
|
LoadDosError;
|
||||||
copyfromdos(w,sizeof(LFNSearchRec));
|
copyfromdos(w,sizeof(LFNSearchRec));
|
||||||
LFNSearchRec2Dos(w,s);
|
LFNSearchRec2Dos(w,hdl,s);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure LFNFindClose(var s:searchrec);
|
||||||
|
var
|
||||||
|
hdl : longint;
|
||||||
|
begin
|
||||||
|
Move(s.Fill,hdl,4);
|
||||||
|
dosregs.ebx:=hdl;
|
||||||
|
dosregs.ax:=$71a1;
|
||||||
|
msdos(dosregs);
|
||||||
|
LoadDosError;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{******************************************************************************
|
{******************************************************************************
|
||||||
--- DosFindfirst DosFindNext ---
|
--- DosFindfirst DosFindNext ---
|
||||||
@ -622,6 +622,14 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Procedure FindClose(Var f: SearchRec);
|
||||||
|
begin
|
||||||
|
DosError:=0;
|
||||||
|
if LFNSupport then
|
||||||
|
LFNFindClose(f);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{$ASMMODE DIRECT}
|
{$ASMMODE DIRECT}
|
||||||
procedure swapvectors;
|
procedure swapvectors;
|
||||||
begin
|
begin
|
||||||
@ -974,25 +982,14 @@ Procedure setintvec(intno : byte;vector : pointer);
|
|||||||
Begin
|
Begin
|
||||||
End;
|
End;
|
||||||
|
|
||||||
procedure exithandler;
|
|
||||||
|
|
||||||
begin
|
|
||||||
exitproc:=oldexitproc;
|
|
||||||
if LFNfindhandle<>$ffff then
|
|
||||||
begin
|
|
||||||
dosregs.bx:=LFNfindhandle;
|
|
||||||
dosregs.ax:=$71a1;
|
|
||||||
msdos(dosregs);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
begin
|
|
||||||
oldexitproc:=exitproc;
|
|
||||||
exitproc:=@exithandler;
|
|
||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.2 1999-01-22 10:07:03 daniel
|
Revision 1.3 1999-01-22 15:44:59 pierre
|
||||||
|
Daniel change removed : broke make cycle !!
|
||||||
|
|
||||||
|
Revision 1.2 1999/01/22 10:07:03 daniel
|
||||||
- Findclose removed: This is TP incompatible!!
|
- Findclose removed: This is TP incompatible!!
|
||||||
|
|
||||||
Revision 1.1 1998/12/21 13:07:02 peter
|
Revision 1.1 1998/12/21 13:07:02 peter
|
||||||
@ -1069,3 +1066,5 @@ end.
|
|||||||
+ read_text_as_pchar which was not yet in the rtl
|
+ read_text_as_pchar which was not yet in the rtl
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user