Quellcode durchsuchen

Removed DeserializationError::NotSupported

Benoit Blanchon vor 4 Jahren
Ursprung
Commit
1038fc35df

+ 8 - 0
CHANGELOG.md

@@ -7,6 +7,7 @@ HEAD
 * Removed support for `char` values, see below (issue #1498)
 * `deserializeJson()` leaves `\uXXXX` unchanged instead of returning `NotSupported`
 * `deserializeMsgPack()` inserts `null` instead of returning `NotSupported`
+* Removed `DeserializationError::NotSupported`
 
 > ### BREAKING CHANGES
 >
@@ -29,6 +30,13 @@ HEAD
 > int8_t age;
 > doc["age"] = age;  // OK
 > ```
+>
+> On a different topic, `DeserializationError::NotSupported` has been removed.
+> Instead of returning this error:
+>
+> * `deserializeJson()` leaves `\uXXXX` unchanged (only when `ARDUINOJSON_DECODE_UNICODE` is `0`)
+> * `deserializeMsgPack()` replaces unsupported values with `null`s
+
 
 v6.17.3 (2021-02-15)
 -------

+ 0 - 2
extras/tests/JsonDeserializer/DeserializationError.cpp

@@ -34,7 +34,6 @@ TEST_CASE("DeserializationError") {
     TEST_STRINGIFICATION(IncompleteInput);
     TEST_STRINGIFICATION(InvalidInput);
     TEST_STRINGIFICATION(NoMemory);
-    TEST_STRINGIFICATION(NotSupported);
     TEST_STRINGIFICATION(TooDeep);
   }
 
@@ -44,7 +43,6 @@ TEST_CASE("DeserializationError") {
     TEST_BOOLIFICATION(IncompleteInput, true);
     TEST_BOOLIFICATION(InvalidInput, true);
     TEST_BOOLIFICATION(NoMemory, true);
-    TEST_BOOLIFICATION(NotSupported, true);
     TEST_BOOLIFICATION(TooDeep, true);
   }
 

+ 0 - 1
extras/tests/MixedConfiguration/enable_progmem_1.cpp

@@ -181,6 +181,5 @@ TEST_CASE("DeserializationError::f_str()") {
   TEST_STRINGIFICATION(IncompleteInput);
   TEST_STRINGIFICATION(InvalidInput);
   TEST_STRINGIFICATION(NoMemory);
-  TEST_STRINGIFICATION(NotSupported);
   TEST_STRINGIFICATION(TooDeep);
 }

+ 4 - 7
src/ArduinoJson/Deserialization/DeserializationError.hpp

@@ -26,7 +26,6 @@ class DeserializationError {
     IncompleteInput,
     InvalidInput,
     NoMemory,
-    NotSupported,
     TooDeep
   };
 
@@ -81,8 +80,8 @@ class DeserializationError {
 
   const char* c_str() const {
     static const char* messages[] = {
-        "Ok",       "EmptyInput",   "IncompleteInput", "InvalidInput",
-        "NoMemory", "NotSupported", "TooDeep"};
+        "Ok",           "EmptyInput", "IncompleteInput",
+        "InvalidInput", "NoMemory",   "TooDeep"};
     ARDUINOJSON_ASSERT(static_cast<size_t>(_code) <
                        sizeof(messages) / sizeof(messages[0]));
     return messages[_code];
@@ -95,11 +94,9 @@ class DeserializationError {
     ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s2, "IncompleteInput");
     ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s3, "InvalidInput");
     ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s4, "NoMemory");
-    ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s5, "NotSupported");
-    ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s6, "TooDeep");
+    ARDUINOJSON_DEFINE_STATIC_ARRAY(char, s5, "TooDeep");
     ARDUINOJSON_DEFINE_STATIC_ARRAY(
-        const char*, messages,
-        ARDUINOJSON_EXPAND7({s0, s1, s2, s3, s4, s5, s6}));
+        const char*, messages, ARDUINOJSON_EXPAND6({s0, s1, s2, s3, s4, s5}));
     return ARDUINOJSON_READ_STATIC_ARRAY(const __FlashStringHelper*, messages,
                                          _code);
   }

+ 0 - 1
src/ArduinoJson/Polyfills/preprocessor.hpp

@@ -5,7 +5,6 @@
 #pragma once
 
 #define ARDUINOJSON_EXPAND6(a, b, c, d, e, f) a, b, c, d, e, f
-#define ARDUINOJSON_EXPAND7(a, b, c, d, e, f, g) a, b, c, d, e, f, g
 #define ARDUINOJSON_EXPAND9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i
 #define ARDUINOJSON_EXPAND18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, \
                              q, r)                                           \