aboutsummaryrefslogtreecommitdiffstats
path: root/global-functions.rsc
diff options
context:
space:
mode:
Diffstat (limited to 'global-functions.rsc')
-rw-r--r--global-functions.rsc43
1 files changed, 2 insertions, 41 deletions
diff --git a/global-functions.rsc b/global-functions.rsc
index 205f67a..476db7c 100644
--- a/global-functions.rsc
+++ b/global-functions.rsc
@@ -4,7 +4,7 @@
# Michael Gisbers <michael@gisbers.de>
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
#
-# requires RouterOS, version=7.7
+# requires RouterOS, version=7.9beta4
#
# global functions
# https://git.eworm.de/cgit/routeros-scripts/about/
@@ -603,7 +603,6 @@
:global CleanFilePath;
:global GetRandom20CharAlNum;
:global LogPrintExit2;
- :global RequiredRouterOS;
:global WaitForFile;
:local MkTmpfs do={
@@ -636,7 +635,7 @@
:return true;
}
- :if ([ $RequiredRouterOS $0 "7.9beta4" false ] = true) do={
+ {
:if ([ :pick $Path 0 5 ] = "tmpfs") do={
:if ([ $MkTmpfs ] = false) do={
:return false;
@@ -652,44 +651,6 @@
$LogPrintExit2 warning $0 ("Making directory '" . $Path . "' failed!") false;
:return false;
}
- } else={
- :local Error false;
- :local PathNext "";
- :foreach Dir in=[ :toarray [ $CharacterReplace $Path "/" "," ] ] do={
- :local Continue false;
- :set PathNext [ $CleanFilePath ($PathNext . "/" . $Dir) ];
-
- :if ([ :len [ /file/find where name=$PathNext !(name="tmpfs") type="directory" ] ] = 1) do={
- :set Continue true;
- }
-
- :if ($Continue = false && $PathNext = "tmpfs") do={
- :if ([ $MkTmpfs ] = false) do={
- :return false;
- }
- :set Continue true;
- }
-
- :if ($Continue = false && [ :len [ /file/find where name=$PathNext ] ] = 1) do={
- $LogPrintExit2 warning $0 ("The path '" . $PathNext . "' exists, but is not a directory.") false;
- :return false;
- }
-
- :if ($Continue = false) do={
- :local Name ($PathNext . "-" . [ $GetRandom20CharAlNum 6 ]);
- :do {
- /ip/smb/share/add disabled=yes directory=$PathNext name=$Name;
- $WaitForFile $PathNext;
- } on-error={
- $LogPrintExit2 warning $0 ("Making directory '" . $PathNext . "' failed!") false;
- :set Error true;
- }
- /ip/smb/share/remove [ find where name=$Name ];
- :if ($Error = true) do={
- :return false;
- }
- }
- }
}
:return true;
}