From 67dd3120e653d5ddc716d5bdbb5966bf4361b5b1 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Thu, 27 Feb 2025 11:01:51 +0100 Subject: [PATCH] Fix conversion from static string to number --- CHANGELOG.md | 5 +++++ extras/tests/JsonVariant/as.cpp | 1 + src/ArduinoJson/Variant/VariantData.hpp | 1 + 3 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0a8b4b8..0ea65414 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ ArduinoJson: change log ======================= +HEAD +---- + +* Fix conversion from static string to number + v7.3.0 (2024-12-29) ------ diff --git a/extras/tests/JsonVariant/as.cpp b/extras/tests/JsonVariant/as.cpp index 37911f00..65d5d6cf 100644 --- a/extras/tests/JsonVariant/as.cpp +++ b/extras/tests/JsonVariant/as.cpp @@ -183,6 +183,7 @@ TEST_CASE("JsonVariant::as()") { variant.set("42"); REQUIRE(variant.as() == 42L); + REQUIRE(variant.as() == 42); REQUIRE(variant.as() == "42"); REQUIRE(variant.as().isStatic() == true); } diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index f123c76a..fb59a545 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -199,6 +199,7 @@ class VariantData { return static_cast(extension->asInt64); #endif case VariantType::LinkedString: + return parseNumber(content_.asLinkedString); case VariantType::OwnedString: return parseNumber(content_.asOwnedString->data); case VariantType::Float: