blob: 0504f8c002cdce1417187f09639f70cb30556677 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <mbgl/util/rapidjson.hpp>
#include <mbgl/util/string.hpp>
#include <algorithm>
namespace mbgl {
std::string formatJSONParseError(const std::string& json, const JSDocument& doc) {
const size_t offset = std::min(doc.GetErrorOffset(), json.length());
const size_t lastBreak = json.find_last_of('\n', offset);
const size_t col = offset - (lastBreak == std::string::npos ? 0 : lastBreak);
const size_t line = lastBreak == std::string::npos ? 1 : std::count(json.data(), json.data() + lastBreak, '\n') + 2;
return "on line " + util::toString(line) + " col " + util::toString(col) + ": " +
rapidjson::GetParseError_En(doc.GetParseError());
}
} // namespace mbgl
|