Browse Source

VariantImpl: change `setRawString()` to take an adapted string

Benoit Blanchon 4 months ago
parent
commit
65518a8b00

+ 2 - 1
src/ArduinoJson/Variant/ConverterImpl.hpp

@@ -169,7 +169,8 @@ inline detail::enable_if_t<detail::IsString<T>::value, bool> convertToJson(
 template <typename T>
 struct Converter<SerializedValue<T>> : private detail::VariantAttorney {
   static void toJson(SerializedValue<T> src, JsonVariant dst) {
-    getVariantImpl(dst).setRawString(src);
+    getVariantImpl(dst).setRawString(
+        detail::adaptString(src.data(), src.size()));
   }
 };
 

+ 2 - 2
src/ArduinoJson/Variant/VariantImpl.hpp

@@ -487,8 +487,8 @@ class VariantImpl {
     return true;
   }
 
-  template <typename T>
-  void setRawString(SerializedValue<T> value) {
+  template <typename TAdaptedString>
+  void setRawString(TAdaptedString value) {
     if (!data_)
       return;
     clear(data_, resources_);