isNull() ignores pointers (6796,5606)

This commit is contained in:
Benoit Blanchon
2022-03-29 12:14:15 +02:00
parent ddb5e1177c
commit 58dee1850d
3 changed files with 2 additions and 4 deletions

View File

@@ -199,7 +199,7 @@ struct Converter<decltype(nullptr)> {
} }
static bool checkJson(VariantConstRef src) { static bool checkJson(VariantConstRef src) {
const VariantData* data = getData(src); const VariantData* data = getData(src);
return data == 0 || data->isNull(); return data == 0 || data->resolve()->isNull();
} }
}; };

View File

@@ -163,8 +163,6 @@ class VariantData {
} }
bool isNull() const { bool isNull() const {
if (isPointer()) // P+0 G+20
return _content.asPointer->isNull();
return type() == VALUE_IS_NULL; return type() == VALUE_IS_NULL;
} }

View File

@@ -103,7 +103,7 @@ NO_INLINE VariantData *variantGetOrAddMember(VariantData *var,
} }
inline bool variantIsNull(const VariantData *var) { inline bool variantIsNull(const VariantData *var) {
return var == 0 || var->isNull(); return var == 0 || var->resolve()->isNull();
} }
} // namespace ARDUINOJSON_NAMESPACE } // namespace ARDUINOJSON_NAMESPACE