* Fix TDateTimeInfoRec

This commit is contained in:
Michaël Van Canneyt 2023-01-23 18:09:43 +01:00
parent 735fd20a6a
commit 0bad315daf
2 changed files with 33 additions and 27 deletions
rtl
objpas/sysutils
win

View File

@ -50,29 +50,6 @@ Type
// The actual unicode search record
{ TDateTimeInfoRec }
TDateTimeInfoRec = record
private
{$IFDEF SEARCHREC_USEFINDDATA}
Data: TFindData platform;
{$ENDIF }
{$IFDEF UNIX}
{$ifdef USE_STATX}
data : tstatx platform;
{$else}
data : baseunix.stat platform;
{$endif USE_STATX}
{$ENDIF UNIX}
function GetCreationTime: TDateTime;
function GetLastAccessTime: TDateTime;
function GetTimeStamp: TDateTime;
public
property CreationTime: TDateTime read GetCreationTime;
property LastAccessTime: TDateTime read GetLastAccessTime;
property TimeStamp: TDateTime read GetTimeStamp;
end;
{ TUnicodeSearchRec }
TUnicodeSearchRec = Record
@ -167,6 +144,35 @@ Type
TSymLinkRec = TRawbyteSymLinkRec;
{$ENDIF}
{ TDateTimeInfoRec }
TDateTimeInfoRec = record
private
{$IFDEF SEARCHREC_USEFINDDATA}
Data: TFindData platform;
{$ELSE}
{$IFDEF UNIX}
{$IFDEF USE_STATX}
data : tstatx platform;
{$ELSE}
data : baseunix.stat platform;
{$ENDIF USE_STATX}
{$ELSE}
data : TSearchRec;
{$ENDIF}
{$ENDIF SEARCHREC_USEFINDDATA}
function GetCreationTime: TDateTime;
function GetLastAccessTime: TDateTime;
function GetTimeStamp: TDateTime;
public
property CreationTime: TDateTime read GetCreationTime;
property LastAccessTime: TDateTime read GetLastAccessTime;
property TimeStamp: TDateTime read GetTimeStamp;
end;
Const
{ File attributes }

View File

@ -697,13 +697,13 @@ end;
function FileGetDateTimeInfo(const FileName: string;
out DateTime: TDateTimeInfoRec; FollowLink: Boolean = True): Boolean;
var
Data: TWin32FindData;
FN: string;
Data: TWin32FindDataW;
FN: unicodestring;
begin
Result := False;
SetLastError(ERROR_SUCCESS);
FN:=FileName;
if Not GetFileAttributesEx(PAnsiChar(FileName), GetFileExInfoStandard, @Data) then
if Not GetFileAttributesExW(PWideChar(FileName), GetFileExInfoStandard, @Data) then
exit;
if ((Data.dwFileAttributes and faSymlink)=faSymlink) then
begin
@ -712,7 +712,7 @@ begin
FN:=FollowSymlink(FileName);
if FN='' then
exit;
if not GetFileAttributesEx(PAnsiChar(FN), GetFileExInfoStandard, @Data) then
if not GetFileAttributesExW(PWideChar(FN), GetFileExInfoStandard, @Data) then
exit;
end;
end;