Simplified the implementation of parseNumber()

This commit is contained in:
Benoit Blanchon
2020-09-04 09:23:40 +02:00
parent 5ab53f42b2
commit 6d2ad4539f
11 changed files with 214 additions and 251 deletions

View File

@@ -499,26 +499,12 @@ class JsonDeserializer {
return true;
}
ParsedNumber<Float, UInt> num;
parseNumber<Float, UInt>(_buffer, num);
switch (num.type()) {
case VALUE_IS_NEGATIVE_INTEGER:
result.setNegativeInteger(num.uintValue);
return true;
case VALUE_IS_POSITIVE_INTEGER:
result.setPositiveInteger(num.uintValue);
return true;
case VALUE_IS_FLOAT:
result.setFloat(num.floatValue);
return true;
default:
_error = DeserializationError::InvalidInput;
return false;
if (!parseNumber(_buffer, result)) {
_error = DeserializationError::InvalidInput;
return false;
}
return true;
}
bool skipNumericValue() {