File tree 2 files changed +19
-11
lines changed
2 files changed +19
-11
lines changed Original file line number Diff line number Diff line change @@ -32,7 +32,22 @@ class StringBuffer {
32
32
return node_->data ;
33
33
}
34
34
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 () {
36
51
ARDUINOJSON_ASSERT (node_ != nullptr );
37
52
node_->data [size_] = 0 ;
38
53
auto node = resources_->getString (adaptString (node_->data , size_));
@@ -52,13 +67,6 @@ class StringBuffer {
52
67
return node;
53
68
}
54
69
55
- JsonString str () const {
56
- ARDUINOJSON_ASSERT (node_ != nullptr );
57
-
58
- return JsonString (node_->data , node_->length );
59
- }
60
-
61
- private:
62
70
ResourceManager* resources_;
63
71
StringNode* node_ = nullptr ;
64
72
size_t size_ = 0 ;
Original file line number Diff line number Diff line change @@ -305,7 +305,7 @@ class MsgPackDeserializer {
305
305
if (err)
306
306
return err;
307
307
308
- variant-> setOwnedString ( stringBuffer_.save () );
308
+ stringBuffer_.save (variant );
309
309
return DeserializationError::Ok;
310
310
}
311
311
@@ -334,7 +334,7 @@ class MsgPackDeserializer {
334
334
if (err)
335
335
return err;
336
336
337
- variant-> setRawString ( stringBuffer_.save () );
337
+ stringBuffer_.saveRaw (variant );
338
338
return DeserializationError::Ok;
339
339
}
340
340
@@ -412,7 +412,7 @@ class MsgPackDeserializer {
412
412
if (!keyVariant)
413
413
return DeserializationError::NoMemory;
414
414
415
- keyVariant-> setOwnedString ( stringBuffer_.save () );
415
+ stringBuffer_.save (keyVariant );
416
416
} else {
417
417
member = 0 ;
418
418
}
You can’t perform that action at this time.
0 commit comments