diff --git a/src/ArduinoJson/Variant/ConverterImpl.hpp b/src/ArduinoJson/Variant/ConverterImpl.hpp index 62a60198..fc6efe9e 100644 --- a/src/ArduinoJson/Variant/ConverterImpl.hpp +++ b/src/ArduinoJson/Variant/ConverterImpl.hpp @@ -173,10 +173,10 @@ inline detail::enable_if_t::value> convertToJson( // SerializedValue template struct Converter> : private detail::VariantAttorney { - static void toJson(SerializedValue src, JsonVariant dst) { + static bool toJson(SerializedValue src, JsonVariant dst) { auto variant = getImpl(dst); variant.clear(); - variant.setRawString(detail::adaptString(src.data(), src.size())); + return variant.setRawString(detail::adaptString(src.data(), src.size())); } }; diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index 1f8a74f9..ca25a9ed 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -441,12 +441,14 @@ class VariantImpl { } template - void setRawString(TAdaptedString value) { + bool setRawString(TAdaptedString value) { if (!data_) - return; + return false; auto dup = resources_->saveString(value); - if (dup) - data_->setRawString(dup); + if (!dup) + return false; + data_->setRawString(dup); + return true; } template