diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index b9ca775d..e5cfe95e 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -450,13 +450,17 @@ class VariantImpl { return true; } - auto dup = resources_->saveString(value); - if (dup) { - data_->setLongString(dup); - return true; - } + return setLongString(value); + } - return false; + template + bool setLongString(TAdaptedString value) { + auto dup = resources_->saveString(value); + if (!dup) + return false; + + data_->setLongString(dup); + return true; } void empty() {