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