mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	asIntegral() ignores pointers (6812,5626)
This commit is contained in:
		| @@ -48,7 +48,9 @@ struct Converter< | |||||||
|   static T fromJson(VariantConstRef src) { |   static T fromJson(VariantConstRef src) { | ||||||
|     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); |     ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(T); | ||||||
|     const VariantData* data = getData(src); |     const VariantData* data = getData(src); | ||||||
|     return data ? data->asIntegral<T>() : T(); |     if (!data) | ||||||
|  |       return T(); | ||||||
|  |     return data->resolve()->asIntegral<T>(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(VariantConstRef src) { | ||||||
| @@ -64,8 +66,7 @@ struct Converter<T, typename enable_if<is_enum<T>::value>::type> { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   static T fromJson(VariantConstRef src) { |   static T fromJson(VariantConstRef src) { | ||||||
|     const VariantData* data = getData(src); |     return static_cast<T>(Converter<int>::fromJson(src)); | ||||||
|     return data ? static_cast<T>(data->asIntegral<int>()) : T(); |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static bool checkJson(VariantConstRef src) { |   static bool checkJson(VariantConstRef src) { | ||||||
|   | |||||||
| @@ -29,8 +29,6 @@ inline T VariantData::asIntegral() const { | |||||||
|       return parseNumber<T>(_content.asString.data); |       return parseNumber<T>(_content.asString.data); | ||||||
|     case VALUE_IS_FLOAT: |     case VALUE_IS_FLOAT: | ||||||
|       return convertNumber<T>(_content.asFloat); |       return convertNumber<T>(_content.asFloat); | ||||||
|     case VALUE_IS_POINTER:  // P+28 G+0 |  | ||||||
|       return _content.asPointer->asIntegral<T>(); |  | ||||||
|     default: |     default: | ||||||
|       return 0; |       return 0; | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user