diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-09-26 20:30:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-26 20:30:14 +0200 |
commit | 50423d8c729ee133035e3bb1e244bfbd1bdc0ef0 (patch) | |
tree | 4605bc80aed2d0f729047697b23e709ade2510e5 /src/script/lua_api | |
parent | f7e57a0d20879e1d1956e36d782a3ab98aa84e38 (diff) | |
download | minetest-50423d8c729ee133035e3bb1e244bfbd1bdc0ef0.tar.gz minetest-50423d8c729ee133035e3bb1e244bfbd1bdc0ef0.tar.bz2 minetest-50423d8c729ee133035e3bb1e244bfbd1bdc0ef0.zip |
Update JsonCPP to 1.8.3 (#6466)
* Update JsonCPP to 1.8.3
* Fix deprecated functions
Json::FastWriter, Json::StyledWriter and Json::Reader are marked deprecated since 1.1 and are deprecated in 0.8 but not shown at compilation time.
Use new methods to serialize/deserialize
Diffstat (limited to 'src/script/lua_api')
-rw-r--r-- | src/script/lua_api/l_util.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/script/lua_api/l_util.cpp b/src/script/lua_api/l_util.cpp index dffbc66d1..5128e79e6 100644 --- a/src/script/lua_api/l_util.cpp +++ b/src/script/lua_api/l_util.cpp @@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include <json/json.h> #include "cpp_api/s_security.h" #include "porting.h" +#include "convert_json.h" #include "debug.h" #include "log.h" #include "tool.h" @@ -95,12 +96,14 @@ int ModApiUtil::l_parse_json(lua_State *L) Json::Value root; { - Json::Reader reader; std::istringstream stream(jsonstr); - if (!reader.parse(stream, root)) { - errorstream << "Failed to parse json data " - << reader.getFormattedErrorMessages(); + Json::CharReaderBuilder builder; + builder.settings_["collectComments"] = false; + std::string errs; + + if (!Json::parseFromStream(builder, stream, &root, &errs)) { + errorstream << "Failed to parse json data " << errs << std::endl; size_t jlen = strlen(jsonstr); if (jlen > 100) { errorstream << "Data (" << jlen @@ -145,11 +148,9 @@ int ModApiUtil::l_write_json(lua_State *L) std::string out; if (styled) { - Json::StyledWriter writer; - out = writer.write(root); + out = root.toStyledString(); } else { - Json::FastWriter writer; - out = writer.write(root); + out = fastWriteJson(root); } lua_pushlstring(L, out.c_str(), out.size()); return 1; |