mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-04 04:17:53 +01:00
* patch for getdir from Pierre
This commit is contained in:
parent
cca24e5632
commit
d17b7d610e
@ -559,7 +559,7 @@ var
|
||||
thedir,dummy : string[255];
|
||||
dirstream : pdir;
|
||||
d : pdirent;
|
||||
mountpoint : boolean;
|
||||
mountpoint,validdir : boolean;
|
||||
predot : string[255];
|
||||
{$endif}
|
||||
begin
|
||||
@ -594,15 +594,19 @@ begin
|
||||
exit;
|
||||
repeat
|
||||
d:=sys_readdir (dirstream);
|
||||
validdir:=false;
|
||||
if (d<>nil) and
|
||||
(not ((d^.name[0]='.') and ((d^.name[1]=#0) or ((d^.name[1]='.') and (d^.name[2]=#0))))) and
|
||||
(not ((d^.name[0]='.') and ((d^.name[1]=#0) or ((d^.name[1]='.') and (
|
||||
d^.name[2]=#0))))) and
|
||||
(mountpoint or (d^.ino=thisino)) then
|
||||
begin
|
||||
dummy:=predot+'../'+strpas(@(d^.name[0]))+#0;
|
||||
if sys_stat (@(dummy[1]),thisdir)<0 then
|
||||
d:=nil;
|
||||
end;
|
||||
until (d=nil) or ((thisdir.dev=thisdev) and (thisdir.ino=thisino) );
|
||||
validdir:=not (sys_stat (@(dummy[1]),thisdir)<0);
|
||||
end
|
||||
else
|
||||
validdir:=false;
|
||||
until (d=nil) or
|
||||
((validdir) and (thisdir.dev=thisdev) and (thisdir.ino=thisino) );
|
||||
if (closedir(dirstream)<0) or (d=nil) then
|
||||
exit;
|
||||
{ At this point, d.name contains the name of the current dir}
|
||||
@ -720,7 +724,10 @@ End.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.38 2000-03-23 15:24:18 peter
|
||||
Revision 1.39 2000-03-25 12:28:37 peter
|
||||
* patch for getdir from Pierre
|
||||
|
||||
Revision 1.38 2000/03/23 15:24:18 peter
|
||||
* remove handle check for do_close
|
||||
|
||||
Revision 1.37 2000/02/09 16:59:32 peter
|
||||
|
||||
Loading…
Reference in New Issue
Block a user