fixed a bug that was found in the discussion of #274
This commit is contained in:
parent
51a3829680
commit
ddfe86cc49
3 changed files with 10 additions and 2 deletions
|
@ -7283,7 +7283,7 @@ class basic_json
|
||||||
explicit lexer(const string_t& s) noexcept
|
explicit lexer(const string_t& s) noexcept
|
||||||
: m_stream(nullptr), m_buffer(s)
|
: m_stream(nullptr), m_buffer(s)
|
||||||
{
|
{
|
||||||
m_content = reinterpret_cast<const lexer_char_t*>(s.c_str());
|
m_content = reinterpret_cast<const lexer_char_t*>(m_buffer.c_str());
|
||||||
assert(m_content != nullptr);
|
assert(m_content != nullptr);
|
||||||
m_start = m_cursor = m_content;
|
m_start = m_cursor = m_content;
|
||||||
m_limit = m_content + s.size();
|
m_limit = m_content + s.size();
|
||||||
|
|
|
@ -7283,7 +7283,7 @@ class basic_json
|
||||||
explicit lexer(const string_t& s) noexcept
|
explicit lexer(const string_t& s) noexcept
|
||||||
: m_stream(nullptr), m_buffer(s)
|
: m_stream(nullptr), m_buffer(s)
|
||||||
{
|
{
|
||||||
m_content = reinterpret_cast<const lexer_char_t*>(s.c_str());
|
m_content = reinterpret_cast<const lexer_char_t*>(m_buffer.c_str());
|
||||||
assert(m_content != nullptr);
|
assert(m_content != nullptr);
|
||||||
m_start = m_cursor = m_content;
|
m_start = m_cursor = m_content;
|
||||||
m_limit = m_content + s.size();
|
m_limit = m_content + s.size();
|
||||||
|
|
|
@ -10359,6 +10359,14 @@ TEST_CASE("parser class")
|
||||||
CHECK(j_empty_array == json());
|
CHECK(j_empty_array == json());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SECTION("copy constructor")
|
||||||
|
{
|
||||||
|
json::string_t* s = new json::string_t("[1,2,3,4]");
|
||||||
|
json::parser p(*s);
|
||||||
|
delete s;
|
||||||
|
CHECK(p.parse() == json({1, 2, 3, 4}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("README", "[hide]")
|
TEST_CASE("README", "[hide]")
|
||||||
|
|
Loading…
Reference in a new issue