diff options
author | Christian Hesse <mail@eworm.de> | 2021-11-18 18:05:33 +0100 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2021-11-19 20:18:39 +0100 |
commit | 15d8652c296597e42582e7248362fed70656e0df (patch) | |
tree | 47935a4df7455161e880e888e661449c384f4074 | |
parent | 868879ec8d431b6e50ed4bfc098b562a319270f5 (diff) |
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.
-rw-r--r-- | accesslist-duplicates.capsman | 6 | ||||
-rw-r--r-- | accesslist-duplicates.local | 6 | ||||
-rw-r--r-- | accesslist-duplicates.template | 6 |
3 files changed, 12 insertions, 6 deletions
diff --git a/accesslist-duplicates.capsman b/accesslist-duplicates.capsman index 5fcf6ae..3992991 100644 --- a/accesslist-duplicates.capsman +++ b/accesslist-duplicates.capsman @@ -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; } diff --git a/accesslist-duplicates.local b/accesslist-duplicates.local index 4d058d4..cb2e7c3 100644 --- a/accesslist-duplicates.local +++ b/accesslist-duplicates.local @@ -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; } diff --git a/accesslist-duplicates.template b/accesslist-duplicates.template index 8878bcc..25923e1 100644 --- a/accesslist-duplicates.template +++ b/accesslist-duplicates.template @@ -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; } |