Selaa lähdekoodia

+ add Delphi compatible FollowLink parameter (default is True) to FileExists and DirectoryExists; support for it is up to each target

git-svn-id: trunk@39668 -
svenbarth 7 vuotta sitten
vanhempi
commit
92dcdd8b5b

+ 2 - 2
rtl/amicommon/sysutils.pp

@@ -396,7 +396,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName : RawByteString) : Boolean;
+function FileExists (const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 var
 var
   tmpLock: BPTR;
   tmpLock: BPTR;
   tmpFIB : PFileInfoBlock;
   tmpFIB : PFileInfoBlock;
@@ -702,7 +702,7 @@ begin
   DiskFree := DiskFree(DeviceList[Drive]);
   DiskFree := DiskFree(DeviceList[Drive]);
 end;
 end;
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 var
 var
   tmpLock: BPTR;
   tmpLock: BPTR;
   FIB    : PFileInfoBlock;
   FIB    : PFileInfoBlock;

+ 2 - 2
rtl/atari/sysutils.pp

@@ -216,7 +216,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName : RawByteString) : Boolean;
+function FileExists (const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 var
 var
   Attr: longint;
   Attr: longint;
 begin
 begin
@@ -372,7 +372,7 @@ begin
   DiskFree:=di.b_free * di.b_secsiz * di.b_clsiz;
   DiskFree:=di.b_free * di.b_secsiz * di.b_clsiz;
 end;
 end;
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 var
 var
   Attr: longint;
   Attr: longint;
 begin
 begin

+ 2 - 2
rtl/embedded/sysutils.pp

@@ -135,7 +135,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 Begin
 Begin
   result := false;
   result := false;
 end;
 end;
@@ -191,7 +191,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 begin
 begin
   result := false;
   result := false;
 end;
 end;

+ 2 - 2
rtl/emx/sysutils.pp

@@ -661,7 +661,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName: RawByteString): boolean;
+function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin
@@ -1050,7 +1050,7 @@ begin
 end;
 end;
 
 
 
 
-function DirectoryExists (const Directory: RawByteString): boolean;
+function DirectoryExists (const Directory: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin

+ 2 - 2
rtl/gba/sysutils.pp

@@ -146,7 +146,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 Begin
 Begin
   result := false;
   result := false;
 end;
 end;
@@ -204,7 +204,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 begin
 begin
   result := false;
   result := false;
 end;
 end;

+ 2 - 2
rtl/go32v2/sysutils.pp

@@ -298,7 +298,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName: RawByteString): boolean;
+function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin
@@ -314,7 +314,7 @@ begin
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 Var
 Var
   Dir : RawByteString;
   Dir : RawByteString;
   drive : byte;
   drive : byte;

+ 2 - 2
rtl/macos/sysutils.pp

@@ -210,7 +210,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 
 
   (*
   (*
 Var Info : Stat;
 Var Info : Stat;
@@ -223,7 +223,7 @@ begin
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 
 
   (*
   (*
 Var Info : Stat;
 Var Info : Stat;

+ 2 - 2
rtl/msdos/sysutils.pp

@@ -303,7 +303,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName: RawByteString): boolean;
+function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin
@@ -318,7 +318,7 @@ begin
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 Var
 Var
   Dir : RawByteString;
   Dir : RawByteString;
   drive : byte;
   drive : byte;

+ 2 - 2
rtl/nativent/sysutils.pp

@@ -320,7 +320,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists(const FileName: UnicodeString): Boolean;
+function FileExists(const FileName: UnicodeString; FollowLink : Boolean): Boolean;
 var
 var
   ntstr: UNICODE_STRING;
   ntstr: UNICODE_STRING;
   objattr: OBJECT_ATTRIBUTES;
   objattr: OBJECT_ATTRIBUTES;
@@ -341,7 +341,7 @@ begin
 end;
 end;
 
 
 
 
-function DirectoryExists(const Directory : UnicodeString) : Boolean;
+function DirectoryExists(const Directory : UnicodeString; FollowLink : Boolean) : Boolean;
 var
 var
   ntstr: UNICODE_STRING;
   ntstr: UNICODE_STRING;
   objattr: OBJECT_ATTRIBUTES;
   objattr: OBJECT_ATTRIBUTES;

+ 2 - 2
rtl/nds/sysutils.pp

@@ -179,7 +179,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 var
 var
   SystemFileName: RawByteString;
   SystemFileName: RawByteString;
 begin
 begin
@@ -248,7 +248,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 begin
 begin
   result := false;
   result := false;
 end;
 end;

+ 3 - 3
rtl/netware/sysutils.pp

@@ -230,7 +230,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 VAR Info : NWStatBufT;
 VAR Info : NWStatBufT;
     SystemFileName: RawByteString;
     SystemFileName: RawByteString;
 begin
 begin
@@ -238,7 +238,7 @@ begin
   FileExists:=(_stat(pchar(SystemFileName),Info) = 0);
   FileExists:=(_stat(pchar(SystemFileName),Info) = 0);
 end;
 end;
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 Var
 Var
   Dir : RawByteString;
   Dir : RawByteString;
   drive : byte;
   drive : byte;
@@ -497,7 +497,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists (const Directory: string): boolean;
+function DirectoryExists (const Directory: string; FollowLink : Boolean): boolean;
 var
 var
   Info : NWStatBufT;
   Info : NWStatBufT;
   SystemFileName: RawByteString;
   SystemFileName: RawByteString;

+ 2 - 2
rtl/netwlibc/sysutils.pp

@@ -218,7 +218,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 VAR Info : TStat;
 VAR Info : TStat;
     SystemFileName: RawByteString;
     SystemFileName: RawByteString;
 begin
 begin
@@ -503,7 +503,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists (const Directory: RawByteString): boolean;
+function DirectoryExists (const Directory: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   Info : TStat;
   Info : TStat;
   SystemFileName: RawByteString;
   SystemFileName: RawByteString;

+ 8 - 8
rtl/objpas/sysutils/filutil.inc

@@ -46,15 +46,15 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : UnicodeString) : Boolean;
+Function FileExists (Const FileName : UnicodeString; FollowLink : Boolean) : Boolean;
 begin
 begin
-  Result:=FileExists(ToSingleByteFileSystemEncodedFileName(FileName));
+  Result:=FileExists(ToSingleByteFileSystemEncodedFileName(FileName), FollowLink);
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : UnicodeString) : Boolean;
+Function DirectoryExists (Const Directory : UnicodeString; FollowLink : Boolean) : Boolean;
 begin
 begin
-  Result:=DirectoryExists(ToSingleByteFileSystemEncodedFileName(Directory));
+  Result:=DirectoryExists(ToSingleByteFileSystemEncodedFileName(Directory), FollowLink);
 end;
 end;
 
 
 
 
@@ -243,15 +243,15 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 begin
 begin
-  Result:=FileExists(UnicodeString(FileName));
+  Result:=FileExists(UnicodeString(FileName), FollowLink);
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 begin
 begin
-  Result:=DirectoryExists(UnicodeString(Directory));
+  Result:=DirectoryExists(UnicodeString(Directory), FollowLink);
 end;
 end;
 
 
 
 

+ 4 - 4
rtl/objpas/sysutils/filutilh.inc

@@ -135,8 +135,8 @@ Function FileCreate (Const FileName : UnicodeString; ShareMode : Integer; Rights
 {$IFNDEF FPUNONE}
 {$IFNDEF FPUNONE}
 Function FileAge (Const FileName : UnicodeString): Longint;
 Function FileAge (Const FileName : UnicodeString): Longint;
 {$ENDIF}
 {$ENDIF}
-Function FileExists (Const FileName : UnicodeString) : Boolean;
-Function DirectoryExists (Const Directory : UnicodeString) : Boolean;
+Function FileExists (Const FileName : UnicodeString; FollowLink : Boolean = True) : Boolean;
+Function DirectoryExists (Const Directory : UnicodeString; FollowLink : Boolean = True) : Boolean;
 Function FileSetDate (Const FileName : UnicodeString;Age : Longint) : Longint;
 Function FileSetDate (Const FileName : UnicodeString;Age : Longint) : Longint;
 Function FileGetAttr (Const FileName : UnicodeString) : Longint;
 Function FileGetAttr (Const FileName : UnicodeString) : Longint;
 Function FileSetAttr (Const Filename : UnicodeString; Attr: longint) : Longint;
 Function FileSetAttr (Const Filename : UnicodeString; Attr: longint) : Longint;
@@ -155,8 +155,8 @@ Function FileOpen (Const FileName : RawByteString; Mode : Integer) : THandle;
 Function FileCreate (Const FileName : RawByteString) : THandle;
 Function FileCreate (Const FileName : RawByteString) : THandle;
 Function FileCreate (Const FileName : RawByteString; Rights : Integer) : THandle;
 Function FileCreate (Const FileName : RawByteString; Rights : Integer) : THandle;
 Function FileCreate (Const FileName : RawByteString; ShareMode : Integer; Rights : Integer) : THandle;
 Function FileCreate (Const FileName : RawByteString; ShareMode : Integer; Rights : Integer) : THandle;
-Function FileExists (Const FileName : RawByteString) : Boolean;
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean = True) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink: Boolean = True) : Boolean;
 Function FileSetDate (Const FileName : RawByteString;Age : Longint) : Longint;
 Function FileSetDate (Const FileName : RawByteString;Age : Longint) : Longint;
 Function FileGetAttr (Const FileName : RawByteString) : Longint;
 Function FileGetAttr (Const FileName : RawByteString) : Longint;
 Function FileSetAttr (Const Filename : RawByteString; Attr: longint) : Longint;
 Function FileSetAttr (Const Filename : RawByteString; Attr: longint) : Longint;

+ 2 - 2
rtl/os2/sysutils.pp

@@ -228,7 +228,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName: RawByteString): boolean;
+function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin
@@ -515,7 +515,7 @@ begin
 end;
 end;
 
 
 
 
-function DirectoryExists (const Directory: RawByteString): boolean;
+function DirectoryExists (const Directory: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin

+ 2 - 2
rtl/symbian/sysutils.pp

@@ -135,7 +135,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 Begin
 Begin
   result := false;
   result := false;
 end;
 end;
@@ -191,7 +191,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 begin
 begin
   result := false;
   result := false;
 end;
 end;

+ 2 - 2
rtl/unix/sysutils.pp

@@ -609,7 +609,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 var
 var
   SystemFileName: RawByteString;
   SystemFileName: RawByteString;
 begin
 begin
@@ -619,7 +619,7 @@ begin
   FileExists:=fpAccess(pointer(SystemFileName),F_OK)=0;
   FileExists:=fpAccess(pointer(SystemFileName),F_OK)=0;
 end;
 end;
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 Var
 Var
   Info : Stat;
   Info : Stat;
   SystemFileName: RawByteString;
   SystemFileName: RawByteString;

+ 2 - 2
rtl/watcom/sysutils.pp

@@ -295,7 +295,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName: RawByteString): boolean;
+function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin
@@ -311,7 +311,7 @@ begin
 end;
 end;
 
 
 
 
-function DirectoryExists (const Directory: RawByteString): boolean;
+function DirectoryExists (const Directory: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin

+ 2 - 2
rtl/wii/sysutils.pp

@@ -144,7 +144,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : RawByteString) : Boolean;
+Function FileExists (Const FileName : RawByteString; FollowLink : Boolean) : Boolean;
 Begin
 Begin
   result := false;
   result := false;
 end;
 end;
@@ -202,7 +202,7 @@ Begin
 End;
 End;
 
 
 
 
-function DirectoryExists(const Directory: RawByteString): Boolean;
+function DirectoryExists(const Directory: RawByteString; FollowLink : Boolean): Boolean;
 begin
 begin
   result := false;
   result := false;
 end;
 end;

+ 2 - 2
rtl/win/sysutils.pp

@@ -407,7 +407,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : UnicodeString) : Boolean;
+Function FileExists (Const FileName : UnicodeString; FollowLink : Boolean) : Boolean;
 var
 var
   Attr:Dword;
   Attr:Dword;
 begin
 begin
@@ -420,7 +420,7 @@ begin
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : UnicodeString) : Boolean;
+Function DirectoryExists (Const Directory : UnicodeString; FollowLink : Boolean) : Boolean;
 var
 var
   Attr:Dword;
   Attr:Dword;
 begin
 begin

+ 2 - 2
rtl/win16/sysutils.pp

@@ -329,7 +329,7 @@ begin
 end;
 end;
 
 
 
 
-function FileExists (const FileName: RawByteString): boolean;
+function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
 var
 var
   L: longint;
   L: longint;
 begin
 begin
@@ -344,7 +344,7 @@ begin
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : RawByteString) : Boolean;
+Function DirectoryExists (Const Directory : RawByteString; FollowLink : Boolean) : Boolean;
 Var
 Var
   Dir : RawByteString;
   Dir : RawByteString;
   drive : byte;
   drive : byte;

+ 2 - 2
rtl/wince/sysutils.pp

@@ -267,7 +267,7 @@ begin
 end;
 end;
 
 
 
 
-Function FileExists (Const FileName : UnicodeString) : Boolean;
+Function FileExists (Const FileName : UnicodeString; FollowLink : Boolean) : Boolean;
 var
 var
   Attr:Dword;
   Attr:Dword;
 begin
 begin
@@ -279,7 +279,7 @@ begin
 end;
 end;
 
 
 
 
-Function DirectoryExists (Const Directory : UnicodeString) : Boolean;
+Function DirectoryExists (Const Directory : UnicodeString; FollowLink : Boolean) : Boolean;
 var
 var
   Attr:Dword;
   Attr:Dword;
 begin
 begin