Fix CTD in danm14aa
This commit is contained in:
parent
31290dc7d0
commit
874a4006b6
2 changed files with 22 additions and 3 deletions
|
@ -79,7 +79,14 @@ Variable Routines::stringToFloat(const VariablesList &args, ExecutionContext &ct
|
||||||
}
|
}
|
||||||
|
|
||||||
Variable Routines::stringToInt(const VariablesList &args, ExecutionContext &ctx) {
|
Variable Routines::stringToInt(const VariablesList &args, ExecutionContext &ctx) {
|
||||||
return Variable::ofInt(stoi(getString(args, 0)));
|
int result = 0;
|
||||||
|
string number(getString(args, 0));
|
||||||
|
|
||||||
|
if (!number.empty()) {
|
||||||
|
result = stoi(number);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Variable::ofInt(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
Variable Routines::turnsToSeconds(const VariablesList &args, ExecutionContext &ctx) {
|
Variable Routines::turnsToSeconds(const VariablesList &args, ExecutionContext &ctx) {
|
||||||
|
|
|
@ -49,15 +49,27 @@ Variable Routines::getStringLowerCase(const VariablesList &args, ExecutionContex
|
||||||
}
|
}
|
||||||
|
|
||||||
Variable Routines::getStringRight(const VariablesList &args, ExecutionContext &ctx) {
|
Variable Routines::getStringRight(const VariablesList &args, ExecutionContext &ctx) {
|
||||||
|
string result;
|
||||||
string str(getString(args, 0));
|
string str(getString(args, 0));
|
||||||
int count = getInt(args, 1);
|
int count = getInt(args, 1);
|
||||||
return Variable::ofString(str.substr(str.length() - count, count));
|
|
||||||
|
if (str.size() >= count) {
|
||||||
|
result = str.substr(str.length() - count, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Variable::ofString(move(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
Variable Routines::getStringLeft(const VariablesList &args, ExecutionContext &ctx) {
|
Variable Routines::getStringLeft(const VariablesList &args, ExecutionContext &ctx) {
|
||||||
|
string result;
|
||||||
string str(getString(args, 0));
|
string str(getString(args, 0));
|
||||||
int count = getInt(args, 1);
|
int count = getInt(args, 1);
|
||||||
return Variable::ofString(str.substr(0, count));
|
|
||||||
|
if (str.size() >= count) {
|
||||||
|
result = str.substr(0, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Variable::ofString(move(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
Variable Routines::insertString(const VariablesList &args, ExecutionContext &ctx) {
|
Variable Routines::insertString(const VariablesList &args, ExecutionContext &ctx) {
|
||||||
|
|
Loading…
Reference in a new issue