global-functions: $RmFile: use $FileGet ...

... to work around restrictions in new file handling.
This commit is contained in:
Christian Hesse 2025-05-30 21:41:34 +02:00
parent d993495e44
commit fb8e616846

View file

@ -1086,25 +1086,26 @@
:set RmFile do={ :set RmFile do={
:local FileName [ :tostr $1 ]; :local FileName [ :tostr $1 ];
:global FileGet;
:global LogPrint; :global LogPrint;
$LogPrint debug $0 ("Removing file: ". $FileName); $LogPrint debug $0 ("Removing file: ". $FileName);
:if ([ :len [ /file/find where name=$FileName (type=directory or type=disk) ] ] > 0) do={ :local FileVal [ $FileGet $FileName ];
$LogPrint error $0 ("File '" . $FileName . "' is not a file."); :if ($FileVal = false) do={
:return false;
}
:local File [ /file/find where name=$FileName !(type=directory or type=disk) ];
:if ([ :len $File ] = 0) do={
$LogPrint debug $0 ("... which does not exist."); $LogPrint debug $0 ("... which does not exist.");
:return true; :return true;
} }
:if ($FileVal->"type" = "directory" || $FileVal->"type" = "disk") do={
$LogPrint error $0 ("File '" . $FileName . "' is not a file.");
:return false;
}
:onerror Err { :onerror Err {
/file/remove $File; /file/remove $FileName;
} do={ } do={
$LogPrint error $0 ("Removing file '" . $FileName . "' (" . $File . ") failed: " . $Err); $LogPrint error $0 ("Removing file '" . $FileName . "' failed: " . $Err);
:return false; :return false;
} }
:return true; :return true;