mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	asString() ignores pointers (6814,5626)
This commit is contained in:
		| @@ -124,7 +124,9 @@ struct Converter<const char*> { | ||||
|  | ||||
|   static const char* fromJson(VariantConstRef src) { | ||||
|     const VariantData* data = getData(src); | ||||
|     return data ? data->asString().c_str() : 0; | ||||
|     if (!data) | ||||
|       return 0; | ||||
|     return data->resolve()->asString().c_str(); | ||||
|   } | ||||
|  | ||||
|   static bool checkJson(VariantConstRef src) { | ||||
| @@ -142,7 +144,9 @@ struct Converter<String> { | ||||
|  | ||||
|   static String fromJson(VariantConstRef src) { | ||||
|     const VariantData* data = getData(src); | ||||
|     return data ? data->asString() : 0; | ||||
|     if (!data) | ||||
|       return String(); | ||||
|     return data->resolve()->asString(); | ||||
|   } | ||||
|  | ||||
|   static bool checkJson(VariantConstRef src) { | ||||
|   | ||||
| @@ -80,8 +80,6 @@ inline String VariantData::asString() const { | ||||
|     case VALUE_IS_OWNED_STRING: | ||||
|       return String(_content.asString.data, _content.asString.size, | ||||
|                     String::Copied); | ||||
|     case VALUE_IS_POINTER:  // P+16 G+0 | ||||
|       return _content.asPointer->asString(); | ||||
|     default: | ||||
|       return String(); | ||||
|   } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user