Util: Fix Parser number error detection

This commit is contained in:
Riyyi
2022-07-01 11:49:20 +02:00
parent a3d1cd1d74
commit 5d844554f5
+9 -7
View File
@@ -211,14 +211,16 @@ Value Parser::getNumber()
}
}
if (fractionPosition == exponentPosition - 1) {
reportError(token, "invalid exponent sign, expected number");
return nullptr;
}
if (fractionPosition != 0 || exponentPosition != 0) {
if (fractionPosition == exponentPosition - 1) {
reportError(token, "invalid exponent sign, expected number");
return nullptr;
}
if (fractionPosition == length - 1 || exponentPosition == length - 1) {
reportError(token, "invalid number");
return nullptr;
if (fractionPosition == length - 1 || exponentPosition == length - 1) {
reportError(token, "invalid number");
return nullptr;
}
}
return std::stod(token.symbol);