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
|
||||
: 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);
|
||||
m_start = m_cursor = m_content;
|
||||
m_limit = m_content + s.size();
|
||||
|
|
|
@ -7283,7 +7283,7 @@ class basic_json
|
|||
explicit lexer(const string_t& s) noexcept
|
||||
: 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);
|
||||
m_start = m_cursor = m_content;
|
||||
m_limit = m_content + s.size();
|
||||
|
|
|
@ -10359,6 +10359,14 @@ TEST_CASE("parser class")
|
|||
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]")
|
||||
|
|
Loading…
Reference in a new issue