From 8f8c82d400a2e860e538eed8f92674330186f76f Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Thu, 13 Feb 2020 17:05:08 +0100 Subject: [PATCH] Reduced code size --- src/ArduinoJson/Json/JsonDeserializer.hpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/ArduinoJson/Json/JsonDeserializer.hpp b/src/ArduinoJson/Json/JsonDeserializer.hpp index 01603cc9..12e78a6e 100644 --- a/src/ArduinoJson/Json/JsonDeserializer.hpp +++ b/src/ArduinoJson/Json/JsonDeserializer.hpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -115,8 +116,9 @@ class JsonDeserializer { NestingLimit nestingLimit) { if (nestingLimit.reached()) return DeserializationError::TooDeep; - // Check opening braket - if (!eat('[')) return DeserializationError::InvalidInput; + // Skip opening braket + ARDUINOJSON_ASSERT(current() == '['); + move(); // Skip spaces DeserializationError err = skipSpacesAndComments(); @@ -155,8 +157,9 @@ class JsonDeserializer { DeserializationError skipArray(NestingLimit nestingLimit) { if (nestingLimit.reached()) return DeserializationError::TooDeep; - // Check opening braket - if (!eat('[')) return DeserializationError::InvalidInput; + // Skip opening braket + ARDUINOJSON_ASSERT(current() == '['); + move(); // Read each value for (;;) { @@ -179,8 +182,9 @@ class JsonDeserializer { NestingLimit nestingLimit) { if (nestingLimit.reached()) return DeserializationError::TooDeep; - // Check opening brace - if (!eat('{')) return DeserializationError::InvalidInput; + // Skip opening brace + ARDUINOJSON_ASSERT(current() == '{'); + move(); // Skip spaces DeserializationError err = skipSpacesAndComments(); @@ -241,8 +245,9 @@ class JsonDeserializer { DeserializationError skipObject(NestingLimit nestingLimit) { if (nestingLimit.reached()) return DeserializationError::TooDeep; - // Check opening brace - if (!eat('{')) return DeserializationError::InvalidInput; + // Skip opening brace + ARDUINOJSON_ASSERT(current() == '{'); + move(); // Skip spaces DeserializationError err = skipSpacesAndComments();