Fix: [Script] Improve ScriptText validation (#11721)

The validation is now done in two steps:
 - First we get the list of parameters in the same order they used to be in encoded string
 - Then we validate the parameter types like FormatString would use them while encoding the string
This commit is contained in:
Loïc Guilloux
2024-01-18 18:06:30 +01:00
committed by GitHub
parent 28ef5146ba
commit bf4b669628
4 changed files with 87 additions and 60 deletions

View File

@@ -12,6 +12,7 @@
struct StringParam {
enum ParamType {
UNUSED,
RAW_STRING,
STRING,
OTHER
@@ -19,8 +20,9 @@ struct StringParam {
ParamType type;
uint8_t consumes;
const char *cmd;
StringParam(ParamType type, uint8_t consumes) : type(type), consumes(consumes) {}
StringParam(ParamType type, uint8_t consumes, const char *cmd) : type(type), consumes(consumes), cmd(cmd) {}
};
using StringParams = std::vector<StringParam>;
using StringParamsList = std::vector<StringParams>;