mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	asArray() ignores pointer (6796,5626)
This commit is contained in:
		| @@ -98,8 +98,6 @@ class VariantData { | ||||
|   } | ||||
|  | ||||
|   const CollectionData *asArray() const { | ||||
|     if (isPointer())  // P+14 G+0 | ||||
|       return _content.asPointer->asArray(); | ||||
|     return const_cast<VariantData *>(this)->asArray(); | ||||
|   } | ||||
|  | ||||
| @@ -305,7 +303,7 @@ class VariantData { | ||||
|   } | ||||
|  | ||||
|   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; | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -20,7 +20,7 @@ inline typename TVisitor::result_type variantAccept(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) { | ||||
|   | ||||
| @@ -127,7 +127,7 @@ VariantRef::to() 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 { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user