From 3e453f92fcdc22caa1b76a695a096929b3bc1f8c Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 7 Feb 2021 17:59:28 +0000 Subject: [PATCH] * statx based Sysutils.FileGetDate with handle fixed + test git-svn-id: trunk@48520 - --- rtl/unix/sysutils.pp | 4 +++- tests/test/units/sysutils/tfile1.pp | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/rtl/unix/sysutils.pp b/rtl/unix/sysutils.pp index 2e9df9ee43..c35d28be79 100644 --- a/rtl/unix/sysutils.pp +++ b/rtl/unix/sysutils.pp @@ -1082,10 +1082,12 @@ Var {$ifdef USE_STATX} Infox : TStatx; {$endif USE_STATX} + Char0 : char; begin Result:=-1; {$ifdef USE_STATX} - if statx(Handle,nil,0,STATX_MTIME,Infox)=0 then + Char0:=#0; + if statx(Handle,@Char0,AT_EMPTY_PATH,STATX_MTIME,Infox)=0 then Result:=Infox.stx_Mtime.tv_sec else if fpgeterrno=ESysENOSYS then {$endif USE_STATX} diff --git a/tests/test/units/sysutils/tfile1.pp b/tests/test/units/sysutils/tfile1.pp index 1b4976b386..ddca3956e6 100644 --- a/tests/test/units/sysutils/tfile1.pp +++ b/tests/test/units/sysutils/tfile1.pp @@ -39,6 +39,12 @@ BEGIN do_error(1003); Close(f); + Assign(f,'datetest.dat'); + Reset(f); + if FileGetDate(filerec(f).handle)<>DateTimeToFileDate(dateTime) then + do_error(1004); + Close(f); + if FileExists('datetest.dat') then begin Assign(f,'datetest.dat');