diff --git a/extras/tests/JsonDocument/remove.cpp b/extras/tests/JsonDocument/remove.cpp index f017bb9a..3533cd68 100644 --- a/extras/tests/JsonDocument/remove.cpp +++ b/extras/tests/JsonDocument/remove.cpp @@ -22,10 +22,10 @@ TEST_CASE("JsonDocument::remove()") { SECTION("string literal") { doc["a"] = 1; - doc["a\0b"_s] = 2; + doc["x"] = 2; doc["b"] = 3; - doc.remove("a\0b"); + doc.remove("x"); REQUIRE(doc.as() == "{\"a\":1,\"b\":3}"); } diff --git a/extras/tests/JsonDocument/subscript.cpp b/extras/tests/JsonDocument/subscript.cpp index 17bdcc2e..bbe1937e 100644 --- a/extras/tests/JsonDocument/subscript.cpp +++ b/extras/tests/JsonDocument/subscript.cpp @@ -25,8 +25,6 @@ TEST_CASE("JsonDocument::operator[]") { SECTION("string literal") { REQUIRE(doc["abc"] == "ABC"); REQUIRE(cdoc["abc"] == "ABC"); - REQUIRE(doc["abc\0d"] == "ABCD"); - REQUIRE(cdoc["abc\0d"] == "ABCD"); } SECTION("std::string") { diff --git a/extras/tests/JsonVariantConst/subscript.cpp b/extras/tests/JsonVariantConst/subscript.cpp index 281e3d95..0e9e86e4 100644 --- a/extras/tests/JsonVariantConst/subscript.cpp +++ b/extras/tests/JsonVariantConst/subscript.cpp @@ -57,7 +57,7 @@ TEST_CASE("JsonVariantConst::operator[]") { SECTION("string literal") { REQUIRE(var["ab"] == "AB"_s); REQUIRE(var["abc"] == "ABC"_s); - REQUIRE(var["abc\0d"] == "ABCD"_s); + REQUIRE(var["abc\0d"] == "ABC"_s); REQUIRE(var["def"].isNull()); REQUIRE(var[0].isNull()); } diff --git a/extras/tests/Misc/StringAdapters.cpp b/extras/tests/Misc/StringAdapters.cpp index c2ebf1fd..4d42a758 100644 --- a/extras/tests/Misc/StringAdapters.cpp +++ b/extras/tests/Misc/StringAdapters.cpp @@ -21,7 +21,7 @@ TEST_CASE("adaptString()") { auto s = adaptString("bravo\0alpha"); CHECK(s.isNull() == false); - CHECK(s.size() == 11); + CHECK(s.size() == 5); CHECK(s.isStatic() == true); } diff --git a/src/ArduinoJson/Strings/Adapters/RamString.hpp b/src/ArduinoJson/Strings/Adapters/RamString.hpp index deb09980..a7a3f54a 100644 --- a/src/ArduinoJson/Strings/Adapters/RamString.hpp +++ b/src/ArduinoJson/Strings/Adapters/RamString.hpp @@ -80,8 +80,9 @@ template struct StringAdapter { using AdaptedString = RamString; - static AdaptedString adapt(const char (&p)[N]) { - return RamString(p, N - 1, true); + static AdaptedString adapt(const char* p) { + ARDUINOJSON_ASSERT(p); + return RamString(p, ::strlen(p), true); } };