diff --git a/include/nlohmann/detail/input/binary_reader.hpp b/include/nlohmann/detail/input/binary_reader.hpp index 0b649d02..72e652a4 100644 --- a/include/nlohmann/detail/input/binary_reader.hpp +++ b/include/nlohmann/detail/input/binary_reader.hpp @@ -2279,7 +2279,7 @@ class binary_reader success = false; break; } - result.push_back(std::char_traits::to_char_type(current)); + result.push_back(static_cast(current)); }; return success; } diff --git a/include/nlohmann/json.hpp b/include/nlohmann/json.hpp index 986cf71f..c7ccb750 100644 --- a/include/nlohmann/json.hpp +++ b/include/nlohmann/json.hpp @@ -7507,7 +7507,7 @@ class basic_json const bool allow_exceptions = true, const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) { - return from_cbor(ptr, ptr + len, strict, tag_handler); + return from_cbor(ptr, ptr + len, strict, allow_exceptions, tag_handler); } diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp index 9476994a..dd09e18b 100644 --- a/single_include/nlohmann/json.hpp +++ b/single_include/nlohmann/json.hpp @@ -8264,7 +8264,7 @@ class binary_reader success = false; break; } - result.push_back(std::char_traits::to_char_type(current)); + result.push_back(static_cast(current)); }; return success; } @@ -23786,7 +23786,7 @@ class basic_json const bool allow_exceptions = true, const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error) { - return from_cbor(ptr, ptr + len, strict, tag_handler); + return from_cbor(ptr, ptr + len, strict, allow_exceptions, tag_handler); } diff --git a/test/src/unit-cbor.cpp b/test/src/unit-cbor.cpp index 2aeac10d..ee32983a 100644 --- a/test/src/unit-cbor.cpp +++ b/test/src/unit-cbor.cpp @@ -2558,10 +2558,10 @@ TEST_CASE("Tagged values") SECTION("0xC6..0xD4") { - for (std::uint8_t b : - { - 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4 - }) + for (auto b : std::vector + { + 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4 + }) { // add tag to value auto v_tagged = v;