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

... to work around restrictions in new file handling.
This commit is contained in:
Christian Hesse 2025-05-30 21:38:26 +02:00
parent 1e4f168735
commit d993495e44

View file

@ -1057,25 +1057,26 @@
:set RmDir do={ :set RmDir do={
:local DirName [ :tostr $1 ]; :local DirName [ :tostr $1 ];
:global FileGet;
:global LogPrint; :global LogPrint;
$LogPrint debug $0 ("Removing directory: ". $DirName); $LogPrint debug $0 ("Removing directory: ". $DirName);
:if ([ :len [ /file/find where name=$DirName type!=directory ] ] > 0) do={ :local DirVal [ $FileGet $DirName ];
$LogPrint error $0 ("Directory '" . $DirName . "' is not a directory."); :if ($DirVal = false) do={
:return false;
}
:local Dir [ /file/find where name=$DirName type=directory ];
:if ([ :len $Dir ] = 0) do={
$LogPrint debug $0 ("... which does not exist."); $LogPrint debug $0 ("... which does not exist.");
:return true; :return true;
} }
:if ($DirVal->"type" != "directory") do={
$LogPrint error $0 ("Directory '" . $DirName . "' is not a directory.");
:return false;
}
:onerror Err { :onerror Err {
/file/remove $Dir; /file/remove $DirName;
} do={ } do={
$LogPrint error $0 ("Removing directory '" . $DirName . "' (" . $Dir . ") failed: " . $Err); $LogPrint error $0 ("Removing directory '" . $DirName . "' failed: " . $Err);
:return false; :return false;
} }
:return true; :return true;