Characters with codes higher than 32 (except %) SHOULD not be escaped but may be so. A %-escaped code may be received instead of an unescaped character anywhere except in the initial keyword or the delimiting colon (:) characters.
But the rules mentioned above are not followed. According to them, I suggest the following changes:
Symbol = should be escaped always, like :, because it is the delimiter if not escaped.
There should be no additional checks when unescaping that the character code <= '_' (unescaped symbol must not be less 32).
There should be no additional checks when unescaping that symbols was only : or someone other "extra".
Unescaped symbol can be zero-symbol too. Here's not safe, but it should be handled somehow.
According to External module command flow:
But the rules mentioned above are not followed. According to them, I suggest the following changes:
=
should be escaped always, like:
, because it is the delimiter if not escaped.<= '_'
(unescaped symbol must not be less 32).:
or someone other "extra".engine/String.cpp:1695 engine/String.cpp:1726