Scripting problem since 6.19

We record client usage by recording their usage in the comment field. Since ver6.19, these do not work properly any more.

Here are the first script lines:

:foreach i in=[/queue simple find comment !=“”] do={
:set content [/queue simple get $i comment]
:if ([:find $content “~”] != “”) do={
:local pos1 [:find $content “!”]
:local pos4 [:len $content]
… etc

In the new firmware, it reads empty comments, and writes to them. Are special characters, like “!” and “~” no longer allowed to be used?

TIA

It could be a bug… in which case you will want to email support: http://www.mikrotik.com/support.html

In the meantime you could change the script to check for length, something like this:

:foreach i in=[/queue simple find] do={
  :local content [/queue simple get $i comment]
  :if ([:len $content] != 0) do={
    :if ([:len [:find $content "~"]] != 0) do={
      :local pos1 [:find $content "!"]
      :local pos4 [:len $content]
    }
  }
}

Sorry for the late response. Thanks for your suggestion, but the problem lies in the third line of the script:
:if ([:find $content “~”] != “”) do={

It does not find the lines starting with the defined character “~”.

We have 3 different simple queue types, and their usage is recorded in the comment lines. There are 2 scripts for each type - one which records usage in the comment field for each type, and another which sends out a usage report for each.

Being unable to distinguish between the tree types, and queues without comments, the above scripts process each queue rule, irrespective of their definition by special character.

Will report this as suggested, thanks