aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api
diff options
context:
space:
mode:
authorLoïc Blot <nerzhul@users.noreply.github.com>2017-09-26 20:30:14 +0200
committerGitHub <noreply@github.com>2017-09-26 20:30:14 +0200
commit50423d8c729ee133035e3bb1e244bfbd1bdc0ef0 (patch)
tree4605bc80aed2d0f729047697b23e709ade2510e5 /src/script/lua_api
parentf7e57a0d20879e1d1956e36d782a3ab98aa84e38 (diff)
downloadminetest-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.cpp17
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;