Skip to content

Commit ed6b470

Browse files
committed
Replace VariantData& with VariantData* in deserializers
1 parent 539b66f commit ed6b470

File tree

3 files changed

+19
-19
lines changed

3 files changed

+19
-19
lines changed

src/ArduinoJson/Deserialization/deserialize.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ DeserializationError doDeserialize(TDestination&& dst, TReader reader,
5050
auto resources = VariantAttorney::getResourceManager(dst);
5151
dst.clear();
5252
auto err = TDeserializer<TReader>(resources, reader)
53-
.parse(*data, options.filter, options.nestingLimit);
53+
.parse(data, options.filter, options.nestingLimit);
5454
shrinkJsonDocument(dst);
5555
return err;
5656
}

src/ArduinoJson/Json/JsonDeserializer.hpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ class JsonDeserializer {
2828
resources_(resources) {}
2929

3030
template <typename TFilter>
31-
DeserializationError parse(VariantData& variant, TFilter filter,
31+
DeserializationError parse(VariantData* variant, TFilter filter,
3232
DeserializationOption::NestingLimit nestingLimit) {
3333
DeserializationError::Code err;
3434

3535
err = parseVariant(variant, filter, nestingLimit);
3636

37-
if (!err && latch_.last() != 0 && variant.isFloat()) {
37+
if (!err && latch_.last() != 0 && variant->isFloat()) {
3838
// We don't detect trailing characters earlier, so we need to check now
3939
return DeserializationError::InvalidInput;
4040
}
@@ -60,7 +60,7 @@ class JsonDeserializer {
6060

6161
template <typename TFilter>
6262
DeserializationError::Code parseVariant(
63-
VariantData& variant, TFilter filter,
63+
VariantData* variant, TFilter filter,
6464
DeserializationOption::NestingLimit nestingLimit) {
6565
DeserializationError::Code err;
6666

@@ -71,13 +71,13 @@ class JsonDeserializer {
7171
switch (current()) {
7272
case '[':
7373
if (filter.allowArray())
74-
return parseArray(variant.toArray(resources_), filter, nestingLimit);
74+
return parseArray(variant->toArray(resources_), filter, nestingLimit);
7575
else
7676
return skipArray(nestingLimit);
7777

7878
case '{':
7979
if (filter.allowObject())
80-
return parseObject(variant.toObject(resources_), filter,
80+
return parseObject(variant->toObject(resources_), filter,
8181
nestingLimit);
8282
else
8383
return skipObject(nestingLimit);
@@ -91,12 +91,12 @@ class JsonDeserializer {
9191

9292
case 't':
9393
if (filter.allowValue())
94-
variant.setBoolean(true);
94+
variant->setBoolean(true);
9595
return skipKeyword("true");
9696

9797
case 'f':
9898
if (filter.allowValue())
99-
variant.setBoolean(false);
99+
variant->setBoolean(false);
100100
return skipKeyword("false");
101101

102102
case 'n':
@@ -178,7 +178,7 @@ class JsonDeserializer {
178178
return DeserializationError::NoMemory;
179179

180180
// 1 - Parse value
181-
err = parseVariant(*value, elementFilter, nestingLimit.decrement());
181+
err = parseVariant(value, elementFilter, nestingLimit.decrement());
182182
if (err)
183183
return err;
184184
} else {
@@ -286,7 +286,7 @@ class JsonDeserializer {
286286
}
287287

288288
// Parse value
289-
err = parseVariant(*member, memberFilter, nestingLimit.decrement());
289+
err = parseVariant(member, memberFilter, nestingLimit.decrement());
290290
if (err)
291291
return err;
292292
} else {
@@ -380,7 +380,7 @@ class JsonDeserializer {
380380
}
381381
}
382382

383-
DeserializationError::Code parseStringValue(VariantData& variant) {
383+
DeserializationError::Code parseStringValue(VariantData* variant) {
384384
DeserializationError::Code err;
385385

386386
stringBuilder_.startString();
@@ -389,7 +389,7 @@ class JsonDeserializer {
389389
if (err)
390390
return err;
391391

392-
stringBuilder_.save(&variant);
392+
stringBuilder_.save(variant);
393393

394394
return DeserializationError::Ok;
395395
}
@@ -505,7 +505,7 @@ class JsonDeserializer {
505505
return DeserializationError::Ok;
506506
}
507507

508-
DeserializationError::Code parseNumericValue(VariantData& result) {
508+
DeserializationError::Code parseNumericValue(VariantData* result) {
509509
uint8_t n = 0;
510510

511511
char c = current();
@@ -519,26 +519,26 @@ class JsonDeserializer {
519519
auto number = parseNumber(buffer_);
520520
switch (number.type()) {
521521
case NumberType::UnsignedInteger:
522-
if (result.setInteger(number.asUnsignedInteger(), resources_))
522+
if (result->setInteger(number.asUnsignedInteger(), resources_))
523523
return DeserializationError::Ok;
524524
else
525525
return DeserializationError::NoMemory;
526526

527527
case NumberType::SignedInteger:
528-
if (result.setInteger(number.asSignedInteger(), resources_))
528+
if (result->setInteger(number.asSignedInteger(), resources_))
529529
return DeserializationError::Ok;
530530
else
531531
return DeserializationError::NoMemory;
532532

533533
case NumberType::Float:
534-
if (result.setFloat(number.asFloat(), resources_))
534+
if (result->setFloat(number.asFloat(), resources_))
535535
return DeserializationError::Ok;
536536
else
537537
return DeserializationError::NoMemory;
538538

539539
#if ARDUINOJSON_USE_DOUBLE
540540
case NumberType::Double:
541-
if (result.setFloat(number.asDouble(), resources_))
541+
if (result->setFloat(number.asDouble(), resources_))
542542
return DeserializationError::Ok;
543543
else
544544
return DeserializationError::NoMemory;

src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ class MsgPackDeserializer {
2424
foundSomething_(false) {}
2525

2626
template <typename TFilter>
27-
DeserializationError parse(VariantData& variant, TFilter filter,
27+
DeserializationError parse(VariantData* variant, TFilter filter,
2828
DeserializationOption::NestingLimit nestingLimit) {
2929
DeserializationError::Code err;
30-
err = parseVariant(&variant, filter, nestingLimit);
30+
err = parseVariant(variant, filter, nestingLimit);
3131
return foundSomething_ ? err : DeserializationError::EmptyInput;
3232
}
3333

0 commit comments

Comments
 (0)