JsonString: change default ownership to Copied

This commit is contained in:
Benoit Blanchon
2024-11-26 10:10:52 +01:00
parent c078957282
commit 8931651317
7 changed files with 10 additions and 7 deletions
@@ -96,7 +96,7 @@ class MsgPackSerializer : public VariantDataVisitor<size_t> {
}
size_t visit(JsonString value) {
ARDUINOJSON_ASSERT(value != NULL);
ARDUINOJSON_ASSERT(!value.isNull());
auto n = value.size();
+2 -2
View File
@@ -22,10 +22,10 @@ class JsonString {
JsonString() : str_(nullptr, 0, true) {}
JsonString(const char* data, Ownership ownership = Linked)
JsonString(const char* data, Ownership ownership = Copied)
: str_(data, data ? ::strlen(data) : 0, ownership == Linked) {}
JsonString(const char* data, size_t sz, Ownership ownership = Linked)
JsonString(const char* data, size_t sz, Ownership ownership = Copied)
: str_(data, sz, ownership == Linked) {}
// Returns a pointer to the characters.
+1 -1
View File
@@ -178,7 +178,7 @@ struct Converter<JsonString> : private detail::VariantAttorney {
static JsonString fromJson(JsonVariantConst src) {
auto data = getData(src);
return data ? data->asString() : 0;
return data ? data->asString() : JsonString();
}
static bool checkJson(JsonVariantConst src) {
+2 -1
View File
@@ -64,7 +64,8 @@ class VariantData {
return visit.visit(content_.asObject);
case VariantType::LinkedString:
return visit.visit(JsonString(content_.asLinkedString));
return visit.visit(
JsonString(content_.asLinkedString, JsonString::Linked));
case VariantType::OwnedString:
return visit.visit(JsonString(content_.asOwnedString->data,