fix mingw build

This commit is contained in:
ShnaiderPavel 2015-06-03 23:58:22 +04:00
parent cb873a42ed
commit 4ccc6e9bc2

View File

@ -2267,16 +2267,18 @@ class basic_json
case (value_t::number_integer): case (value_t::number_integer):
{ {
return std::to_string(m_value.number_integer); std::stringstream s;
s << m_value.number_integer;
return s.str();
} }
case (value_t::number_float): case (value_t::number_float):
{ {
// 15 digits of precision allows round-trip IEEE 754 // 15 digits of precision allows round-trip IEEE 754
// string->double->string // string->double->string
const auto sz = static_cast<unsigned int>(std::snprintf(nullptr, 0, "%.15g", m_value.number_float)); const auto sz = static_cast<unsigned int>(snprintf(nullptr, 0, "%.15g", m_value.number_float));
std::vector<typename string_t::value_type> buf(sz + 1); std::vector<typename string_t::value_type> buf(sz + 1);
std::snprintf(&buf[0], buf.size(), "%.15g", m_value.number_float); snprintf(&buf[0], buf.size(), "%.15g", m_value.number_float);
return string_t(buf.data()); return string_t(buf.data());
} }
@ -4372,9 +4374,9 @@ basic_json_parser_59:
return; return;
} }
const ssize_t offset_start = m_start - m_content; const int offset_start = m_start - m_content;
const ssize_t offset_marker = m_marker - m_start; const int offset_marker = m_marker - m_start;
const ssize_t offset_cursor = m_cursor - m_start; const int offset_cursor = m_cursor - m_start;
m_buffer.erase(0, static_cast<size_t>(offset_start)); m_buffer.erase(0, static_cast<size_t>(offset_start));
std::string line; std::string line;