mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-30 02:37:35 +02:00
Reduce code size
This commit is contained in:
@ -5,6 +5,7 @@ HEAD
|
|||||||
----
|
----
|
||||||
|
|
||||||
* Fix conversion from static string to number
|
* Fix conversion from static string to number
|
||||||
|
* Slightly reduce code size
|
||||||
|
|
||||||
v7.3.0 (2024-12-29)
|
v7.3.0 (2024-12-29)
|
||||||
------
|
------
|
||||||
|
@ -185,6 +185,7 @@ class VariantData {
|
|||||||
#else
|
#else
|
||||||
(void)resources; // silence warning
|
(void)resources; // silence warning
|
||||||
#endif
|
#endif
|
||||||
|
const char* str = nullptr;
|
||||||
switch (type_) {
|
switch (type_) {
|
||||||
case VariantType::Boolean:
|
case VariantType::Boolean:
|
||||||
return static_cast<T>(content_.asBoolean);
|
return static_cast<T>(content_.asBoolean);
|
||||||
@ -199,9 +200,11 @@ class VariantData {
|
|||||||
return static_cast<T>(extension->asInt64);
|
return static_cast<T>(extension->asInt64);
|
||||||
#endif
|
#endif
|
||||||
case VariantType::LinkedString:
|
case VariantType::LinkedString:
|
||||||
return parseNumber<T>(content_.asLinkedString);
|
str = content_.asLinkedString;
|
||||||
|
break;
|
||||||
case VariantType::OwnedString:
|
case VariantType::OwnedString:
|
||||||
return parseNumber<T>(content_.asOwnedString->data);
|
str = content_.asOwnedString->data;
|
||||||
|
break;
|
||||||
case VariantType::Float:
|
case VariantType::Float:
|
||||||
return static_cast<T>(content_.asFloat);
|
return static_cast<T>(content_.asFloat);
|
||||||
#if ARDUINOJSON_USE_DOUBLE
|
#if ARDUINOJSON_USE_DOUBLE
|
||||||
@ -209,8 +212,11 @@ class VariantData {
|
|||||||
return static_cast<T>(extension->asDouble);
|
return static_cast<T>(extension->asDouble);
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ARDUINOJSON_ASSERT(str != nullptr);
|
||||||
|
return parseNumber<T>(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -221,6 +227,7 @@ class VariantData {
|
|||||||
#else
|
#else
|
||||||
(void)resources; // silence warning
|
(void)resources; // silence warning
|
||||||
#endif
|
#endif
|
||||||
|
const char* str = nullptr;
|
||||||
switch (type_) {
|
switch (type_) {
|
||||||
case VariantType::Boolean:
|
case VariantType::Boolean:
|
||||||
return content_.asBoolean;
|
return content_.asBoolean;
|
||||||
@ -235,9 +242,11 @@ class VariantData {
|
|||||||
return convertNumber<T>(extension->asInt64);
|
return convertNumber<T>(extension->asInt64);
|
||||||
#endif
|
#endif
|
||||||
case VariantType::LinkedString:
|
case VariantType::LinkedString:
|
||||||
return parseNumber<T>(content_.asLinkedString);
|
str = content_.asLinkedString;
|
||||||
|
break;
|
||||||
case VariantType::OwnedString:
|
case VariantType::OwnedString:
|
||||||
return parseNumber<T>(content_.asOwnedString->data);
|
str = content_.asOwnedString->data;
|
||||||
|
break;
|
||||||
case VariantType::Float:
|
case VariantType::Float:
|
||||||
return convertNumber<T>(content_.asFloat);
|
return convertNumber<T>(content_.asFloat);
|
||||||
#if ARDUINOJSON_USE_DOUBLE
|
#if ARDUINOJSON_USE_DOUBLE
|
||||||
@ -247,6 +256,9 @@ class VariantData {
|
|||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ARDUINOJSON_ASSERT(str != nullptr);
|
||||||
|
return parseNumber<T>(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
ObjectData* asObject() {
|
ObjectData* asObject() {
|
||||||
|
Reference in New Issue
Block a user