accesslist-duplicates: read more than a single digit

With RouterOS 6.x a print always starts with numeric id zero, then
counts up. This is no longer true with RouterOS 7.x...
Thus we have to handle two or more digits in input.
This commit is contained in:
Christian Hesse 2021-11-18 18:05:33 +01:00
parent 868879ec8d
commit 15d8652c29
3 changed files with 12 additions and 6 deletions

View file

@ -12,6 +12,8 @@
:global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:local Read do={ :return; }
:local Seen [ :toarray "" ];
:local Shown [ :toarray "" ];
@ -28,8 +30,8 @@
:set Shown ($Shown, $Mac);
:put "\nNumeric id to remove, any key to skip!";
:local Remove ([ :terminal inkey ] - 48);
:if ($Remove >= 0 && $Remove <= 9) do={
:local Remove [ :tonum [ $Read ] ];
:if ([ :typeof $Remove ] = "num") do={
:put ("Removing numeric id " . $Remove . "...\n");
/ caps-man access-list remove $Remove;
}

View file

@ -12,6 +12,8 @@
:global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:local Read do={ :return; }
:local Seen [ :toarray "" ];
:local Shown [ :toarray "" ];
@ -28,8 +30,8 @@
:set Shown ($Shown, $Mac);
:put "\nNumeric id to remove, any key to skip!";
:local Remove ([ :terminal inkey ] - 48);
:if ($Remove >= 0 && $Remove <= 9) do={
:local Remove [ :tonum [ $Read ] ];
:if ([ :typeof $Remove ] = "num") do={
:put ("Removing numeric id " . $Remove . "...\n");
/ interface wireless access-list remove $Remove;
}

View file

@ -13,6 +13,8 @@
:global GlobalFunctionsReady;
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
:local Read do={ :return; }
:local Seen [ :toarray "" ];
:local Shown [ :toarray "" ];
@ -29,8 +31,8 @@
:set Shown ($Shown, $Mac);
:put "\nNumeric id to remove, any key to skip!";
:local Remove ([ :terminal inkey ] - 48);
:if ($Remove >= 0 && $Remove <= 9) do={
:local Remove [ :tonum [ $Read ] ];
:if ([ :typeof $Remove ] = "num") do={
:put ("Removing numeric id " . $Remove . "...\n");
/ %PATH% access-list remove $Remove;
}