From ddb5e1177c3b54eb59fbc88e92b2b8da007e2ef7 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 28 Mar 2022 12:44:45 +0200 Subject: [PATCH] asBoolean() ignores pointers (6796,5626) --- src/ArduinoJson/Variant/ConverterImpl.hpp | 2 +- src/ArduinoJson/Variant/VariantImpl.hpp | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/ArduinoJson/Variant/ConverterImpl.hpp b/src/ArduinoJson/Variant/ConverterImpl.hpp index df09494f..ef79e244 100644 --- a/src/ArduinoJson/Variant/ConverterImpl.hpp +++ b/src/ArduinoJson/Variant/ConverterImpl.hpp @@ -85,7 +85,7 @@ struct Converter { static bool fromJson(VariantConstRef src) { const VariantData* data = getData(src); - return data ? data->asBoolean() : false; + return data ? data->resolve()->asBoolean() : false; } static bool checkJson(VariantConstRef src) { diff --git a/src/ArduinoJson/Variant/VariantImpl.hpp b/src/ArduinoJson/Variant/VariantImpl.hpp index 8c7c16c8..c673ef7b 100644 --- a/src/ArduinoJson/Variant/VariantImpl.hpp +++ b/src/ArduinoJson/Variant/VariantImpl.hpp @@ -45,8 +45,6 @@ inline bool VariantData::asBoolean() const { return _content.asFloat != 0; case VALUE_IS_NULL: return false; - case VALUE_IS_POINTER: // P+0 G+0 - return _content.asPointer->asBoolean(); default: return true; }