Skip to content

Commit 7f75985

Browse files
committed
Change StringBuffer::save() to take a VariantData*
1 parent 05b68fc commit 7f75985

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

Diff for: src/ArduinoJson/Memory/StringBuffer.hpp

+16-8
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,22 @@ class StringBuffer {
3232
return node_->data;
3333
}
3434

35-
StringNode* save() {
35+
JsonString str() const {
36+
ARDUINOJSON_ASSERT(node_ != nullptr);
37+
38+
return JsonString(node_->data, node_->length);
39+
}
40+
41+
void save(VariantData* data) {
42+
data->setOwnedString(commitStringNode());
43+
}
44+
45+
void saveRaw(VariantData* data) {
46+
data->setRawString(commitStringNode());
47+
}
48+
49+
private:
50+
StringNode* commitStringNode() {
3651
ARDUINOJSON_ASSERT(node_ != nullptr);
3752
node_->data[size_] = 0;
3853
auto node = resources_->getString(adaptString(node_->data, size_));
@@ -52,13 +67,6 @@ class StringBuffer {
5267
return node;
5368
}
5469

55-
JsonString str() const {
56-
ARDUINOJSON_ASSERT(node_ != nullptr);
57-
58-
return JsonString(node_->data, node_->length);
59-
}
60-
61-
private:
6270
ResourceManager* resources_;
6371
StringNode* node_ = nullptr;
6472
size_t size_ = 0;

Diff for: src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ class MsgPackDeserializer {
305305
if (err)
306306
return err;
307307

308-
variant->setOwnedString(stringBuffer_.save());
308+
stringBuffer_.save(variant);
309309
return DeserializationError::Ok;
310310
}
311311

@@ -334,7 +334,7 @@ class MsgPackDeserializer {
334334
if (err)
335335
return err;
336336

337-
variant->setRawString(stringBuffer_.save());
337+
stringBuffer_.saveRaw(variant);
338338
return DeserializationError::Ok;
339339
}
340340

@@ -412,7 +412,7 @@ class MsgPackDeserializer {
412412
if (!keyVariant)
413413
return DeserializationError::NoMemory;
414414

415-
keyVariant->setOwnedString(stringBuffer_.save());
415+
stringBuffer_.save(keyVariant);
416416
} else {
417417
member = 0;
418418
}

0 commit comments

Comments
 (0)