mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-01 00:38:27 +01:00
asArray() ignores pointer (6796,5626)
This commit is contained in:
@@ -98,8 +98,6 @@ class VariantData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const CollectionData *asArray() const {
|
const CollectionData *asArray() const {
|
||||||
if (isPointer()) // P+14 G+0
|
|
||||||
return _content.asPointer->asArray();
|
|
||||||
return const_cast<VariantData *>(this)->asArray();
|
return const_cast<VariantData *>(this)->asArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,7 +303,7 @@ class VariantData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
VariantData *getElement(size_t index) const { // P+4 G+0
|
VariantData *getElement(size_t index) const { // P+4 G+0
|
||||||
const CollectionData *col = asArray();
|
const CollectionData *col = resolve()->asArray();
|
||||||
return col ? col->getElement(index) : 0;
|
return col ? col->getElement(index) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ inline typename TVisitor::result_type variantAccept(const VariantData *var,
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline const CollectionData *variantAsArray(const VariantData *var) {
|
inline const CollectionData *variantAsArray(const VariantData *var) {
|
||||||
return var != 0 ? var->asArray() : 0;
|
return var != 0 ? var->resolve()->asArray() : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline const CollectionData *variantAsObject(const VariantData *var) {
|
inline const CollectionData *variantAsObject(const VariantData *var) {
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ VariantRef::to() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline VariantConstRef VariantConstRef::getElement(size_t index) const {
|
inline VariantConstRef VariantConstRef::getElement(size_t index) const {
|
||||||
return ArrayConstRef(_data != 0 ? _data->asArray() : 0)[index];
|
return ArrayConstRef(_data != 0 ? _data->resolve()->asArray() : 0)[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
inline VariantRef VariantRef::addElement() const {
|
inline VariantRef VariantRef::addElement() const {
|
||||||
|
|||||||
Reference in New Issue
Block a user