From 1b1f9fe2cedc6f5d3572d6c4337119dc72fc3211 Mon Sep 17 00:00:00 2001 From: Michael Van Canneyt Date: Thu, 19 Jan 2023 12:20:46 +0100 Subject: [PATCH] * Checks for directory and special directories (cherry picked from commit 32884082e3299ca4a73e64582039affc9bcfc727) --- rtl/objpas/sysutils/filutil.inc | 20 ++++++++++++++++++++ rtl/objpas/sysutils/filutilh.inc | 9 +++++++++ 2 files changed, 29 insertions(+) diff --git a/rtl/objpas/sysutils/filutil.inc b/rtl/objpas/sysutils/filutil.inc index 4c0f9f0d07..f208e19a9c 100644 --- a/rtl/objpas/sysutils/filutil.inc +++ b/rtl/objpas/sysutils/filutil.inc @@ -630,6 +630,16 @@ begin {$endif} end; +function TUnicodeSearchRec.IsDirectory: Boolean; +begin + Result:=(Attr and faDirectory)<>0; +end; + +function TUnicodeSearchRec.IsCurrentOrParentDir: Boolean; +begin + Result:=IsDirectory and ((Name='.') or (Name='..')); +end; + { TRawbyteSearchRec } function TRawbyteSearchRec.GetTimeStamp: TDateTime; @@ -641,6 +651,16 @@ begin {$endif} end; +function TRawbyteSearchRec.IsDirectory: Boolean; +begin + Result:=(Attr and faDirectory)<>0; +end; + +function TRawbyteSearchRec.IsCurrentOrParentDir: Boolean; +begin + Result:=IsDirectory and ((Name='.') or (Name='..')); +end; + { TUnicodeSymLinkRec } function TUnicodeSymLinkRec.GetTimeStamp: TDateTime; diff --git a/rtl/objpas/sysutils/filutilh.inc b/rtl/objpas/sysutils/filutilh.inc index 4c24c3b91b..29e0529f2d 100644 --- a/rtl/objpas/sysutils/filutilh.inc +++ b/rtl/objpas/sysutils/filutilh.inc @@ -45,6 +45,9 @@ Type {$endif} // The actual unicode search record + + { TUnicodeSearchRec } + TUnicodeSearchRec = Record Time : Longint; Size : Int64; @@ -61,9 +64,13 @@ Type private function GetTimeStamp: TDateTime; public + Function IsDirectory : Boolean; inline; + function IsCurrentOrParentDir: Boolean; inline; property TimeStamp: TDateTime read GetTimeStamp; end; + { TRawbyteSearchRec } + TRawbyteSearchRec = Record Time : Longint; Size : Int64; @@ -80,6 +87,8 @@ Type private function GetTimeStamp: TDateTime; public + Function IsDirectory : Boolean; inline; + function IsCurrentOrParentDir: Boolean; inline; property TimeStamp: TDateTime read GetTimeStamp; end;