mirror of
https://github.com/eledio-devices/thirdparty-ArduinoJson.git
synced 2025-11-01 16:14:05 +01:00
isNull() ignores pointers (6796,5606)
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user